Submission #90053

#TimeUsernameProblemLanguageResultExecution timeMemory
90053xiaowuc1Art Exhibition (JOI18_art)C++14
100 / 100
260 ms217668 KiB
#include <bits/stdc++.h> using namespace std; typedef long long ll; typedef pair<int, int> pii; typedef pair<pii, int> edge; typedef pair<int, ll> pill; typedef pair<pill, int> data; typedef long long ll; typedef pair<int, int> pii; typedef pair<ll, ll> pll; pll l[500000]; int n; void solve() { { int k; cin >> k; vector<pll> v; while(k--) { ll a, b; cin >> a >> b; v.push_back({a, b}); } sort(v.begin(), v.end()); for(int i = 0; i < v.size();) { int j = i; while(j < v.size() && v[i].first == v[j].first) { l[n].second += v[j++].second; } l[n++].first = v[(i=j)-1].first; } } ll ret = l[0].second; ll sum = l[0].second; for(int i = 1; i < n; i++) { sum += l[i].second; sum -= (l[i].first - l[i-1].first); sum = max(sum, l[i].second); ret = max(ret, sum); } cout << ret << endl; } int main() { ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); solve(); }

Compilation message (stderr)

art.cpp: In function 'void solve()':
art.cpp:29:22: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     for(int i = 0; i < v.size();) {
                    ~~^~~~~~~~~~
art.cpp:31:15: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
       while(j < v.size() && v[i].first == v[j].first) {
             ~~^~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...