제출 #455079

#제출 시각아이디문제언어결과실행 시간메모리
455079Nima_NaderiCloud Computing (CEOI18_clo)C++14
72 / 100
874 ms2116 KiB
//In the name of God #include<bits/stdc++.h> using namespace std; typedef long long ll; const ll MXN = 4e3 + 10; const ll MXM = 2e5 + 10; const ll INF = 1e15; ll n, m; ll M[MXN], F[MXN], T[MXN], Ind[MXN], dp[MXM]; bool Tp[MXN]; void ckmx(ll &x, ll y){ x = max(x, y); } int main(){ ios::sync_with_stdio(0);cin.tie(0); cout.tie(0); cin >> n, iota(Ind + 1, Ind + MXN, 1); for(int i = 1; i <= n; i ++) cin >> T[i] >> F[i] >> M[i]; cin >> m; for(int i = 1; i <= m; i ++) cin >> T[i + n] >> F[i + n] >> M[i + n], Tp[i + n] = 1; sort(Ind + 1, Ind + n + m + 1, [&](const int &i, const int &j){ return F[i] > F[j]; }); fill(dp, dp + MXM, -INF), dp[0] = 0; for(int ii = 1; ii <= n + m; ii ++){ int i = Ind[ii]; if(!Tp[i]) for(int j = MXM - 1; j >= T[i]; -- j) ckmx(dp[j], dp[j - T[i]] - M[i]); else for(int j = 0; j < MXM - T[i]; j ++) ckmx(dp[j], dp[j + T[i]] + M[i]); } cout << *max_element(dp, dp + MXM) << '\n'; return 0; } // N.N

컴파일 시 표준 에러 (stderr) 메시지

clo.cpp: In function 'int main()':
clo.cpp:16:2: warning: this 'for' clause does not guard... [-Wmisleading-indentation]
   16 |  for(int i = 1; i <= n; i ++) cin >> T[i] >> F[i] >> M[i]; cin >> m;
      |  ^~~
clo.cpp:16:60: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'for'
   16 |  for(int i = 1; i <= n; i ++) cin >> T[i] >> F[i] >> M[i]; cin >> m;
      |                                                            ^~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...