제출 #629921

#제출 시각아이디문제언어결과실행 시간메모리
629921NintsiChkhaidzeCloud Computing (CEOI18_clo)C++14
100 / 100
765 ms2036 KiB
#include <bits/stdc++.h> #include <iostream> #define ll long long #define s second #define pb push_back #define f first using namespace std; const int N = 100005; vector<pair<pair<int,int>,int> > vec; int tot; ll dpold[N],dpnew[N]; bool cmp(pair<pair<int,int>,int> a, pair<pair<int,int>,int> b){ if (a.f.s < b.f.s) return 0; if (a.f.s > b.f.s) return 1; return (a.f.f > b.f.f); } signed main() { int n; cin>>n; for (int i = 0; i < n; i++){ int c,f,v; cin>>c>>f>>v; tot += c; vec.pb({{c,f},-v}); } int m; cin>>m; for (int i = 0; i < m; i++){ int c,f,v; cin>>c>>f>>v; vec.pb({{-c,f},v}); } sort(vec.begin(),vec.end(),cmp); for (int i = 1;i <= tot; i++) dpold[i] = dpnew[i] = -1e18; for (int i = 0; i < vec.size(); i++){ int pr = vec[i].s,cr = vec[i].f.f; for (int j = 0; j <= tot; j++){ int nw = j + cr; if (nw < 0 || nw > tot || dpold[j] == -1e18) continue; dpnew[nw] = max(dpnew[nw], dpold[j] + pr); } for (int j = 0; j <= tot; j++) dpold[j] = dpnew[j]; } ll ans=0; for (int j = 0; j <= tot; j++) ans=max(ans,dpold[j]); cout<<ans; }

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

clo.cpp: In function 'int main()':
clo.cpp:41:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::pair<std::pair<int, int>, int> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   41 |     for (int i = 0; i < vec.size(); i++){
      |                     ~~^~~~~~~~~~~~
#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...