Submission #110851

#TimeUsernameProblemLanguageResultExecution timeMemory
110851nvmdavaSalesman (IOI09_salesman)C++17
Compilation error
0 ms0 KiB
#include <bits/stdc++.h> #define pb push_back #define ss second #define ff first #define mp make_pair using namespace std; int u, d, s; struct Container{ set<pair<int, int> > hull; int get(int x){ auto it = lower_bound(hull.begin(), hull.end(), mp(x, INT_MIN)); if(it == hull.end()) return (--it) -> ss - d * (x - it -> ff); int res = it->ss - u * (it -> ff - x); if(it == hull.begin()) return res; res = max(res, (--it) -> ss - d * (x - it -> ff)); return res; } void insert(int x, int val){ auto l = hull.insert({x, val}).ff; auto r = l; r++; while(r != hull.end() && r -> ss <= val - (r -> ff - x) * d) r = hull.erase(r); while(l != hull.begin() && (--l) -> ss <= val - (x - l -> ff) * u) l = hull.erase(l); } } list1; vector<pair<int, int> > day[500005]; int main(){ ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); int n; cin>>n>>u>>d>>s; for(int i = 1; i <= n; i++){ int t, l, m; cin>>t>>l>>m; day[t].pb({l, m}); } list1.insert(s, 0); for(auto& x : day){ for(int i = 0; i < x.size(); i++) list1.insert(x[i].ff, x[i].ss + list1.get(x[i].ff)); cout<<list1.get(s); }

Compilation message (stderr)

salesman.cpp: In function 'int main()':
salesman.cpp:53:26: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
         for(int i = 0; i < x.size(); i++)
                        ~~^~~~~~~~~~
salesman.cpp:57:1: error: expected '}' at end of input
 }
 ^