| 13363 | 2025-01-07 17:12:30 | Ricsi | Benzinkút üzemeltetés (55) | cpp17 | Forditási hiba |
#include <iostream>
#include <vector>
using namespace std;
#define ll long long
#define pll pair<ll,ll>
#define fi first
#define se second
ll max(ll a,ll b){
if(a>b)return a;
else return b;
}
int main() {
int n, k; cin >> n >> k;
vector<pll>v(n + 1); vector<ll>dp(n+1,0);
for (int i = 1; i <= n; i++)cin >> v[i].first >> v[i].second;
for (int i = 1; i <= n; i++) {
for (int j = 1; j < i; j++) {
if (v[i].first - v[j].first >= k)dp[i] = max(dp[i], dp[j] + v[i].se);
}
dp[i] = max( dp[i], max(v[i].se,dp[i - 1] ));
}
cout << dp[n] << '\n';
vector<int>ans;
ll curr = dp[n];
while (n != 0) {
if (dp[n] > dp[n - 1] && dp[n] == curr) {
ans.push_back(n);
curr -= v[n].se;
}
n--;
}
cout << ans.size() << ' ';
reverse(ans.begin(), ans.end());
for (int x : ans)cout << x << ' ';
}
open /var/local/lib/isolate/409/box/a.out: no such file or directory
main.cpp: In function 'int main()':
main.cpp:35:9: error: 'reverse' was not declared in this scope
35 | reverse(ans.begin(), ans.end());
| ^~~~~~~