Submission #90051

#TimeUsernameProblemLanguageResultExecution timeMemory
90051xiaowuc1Art Exhibition (JOI18_art)C++14
50 / 100
1073 ms32532 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 = 0; for(int i = 0; i < n; i++) { ll sum = 0; for(int j = i; j < n; j++) { sum += l[j].second; ret = max(ret, sum - (l[j].first - l[i].first)); } } 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...