Submission #157316

#TimeUsernameProblemLanguageResultExecution timeMemory
157316karma스트랩 (JOI14_straps)C++14
45 / 100
51 ms31868 KiB
#include<bits/stdc++.h> #define FileName "test" #define ll long long #define pb emplace_back #define deg first #define c second using namespace std; typedef pair<int, int> pii; const int N = int(4e3) + 2; const int oo = int(2e9) + 7; int f[N][N], Max[N], a[N]; int n, m, res = 0, pre; pii val[N]; int main() { ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); if(fopen(FileName".inp", "r")) { freopen(FileName".inp", "r", stdin); freopen(FileName".out", "w", stdout); } cin >> n; m = 2 * n; for(int i = 1; i <= n; ++i) { cin >> val[i].deg >> val[i].c; fill(f[i], f[i] + m + 1, -oo); } sort(val + 1, val + n + 1, [](const pii& x, const pii& y) { return x.deg > y.deg; }); /// f(i, j) = max niem vui khi den cai thu i va co j cong ket noi fill(Max, Max + m + 1, -oo); f[0][1] = 0; Max[1] = 0; for(int i = 1; i <= n; ++i) { for(int j = 0; j <= m; ++j) { pre = min(j + 1 - val[i].deg, m); if(pre < 0 || Max[pre] == -oo) continue; res = max(res, (f[i][j] = Max[pre] + val[i].c)); } for(int j = 0; j <= m; ++j) Max[j] = max(Max[j], f[i][j]); } cout << res; }

Compilation message (stderr)

straps.cpp: In function 'int main()':
straps.cpp:23:15: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)', declared with attribute warn_unused_result [-Wunused-result]
        freopen(FileName".inp", "r", stdin);
        ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
straps.cpp:24:15: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)', declared with attribute warn_unused_result [-Wunused-result]
        freopen(FileName".out", "w", stdout);
        ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...