# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
1050165 | vjudge1 | Art Exhibition (JOI18_art) | C++98 | 0 ms | 344 KiB |
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include <bits/stdc++.h>
#define f first
#define s second
using namespace std;
int main()
{
int n;
cin >> n;
pair<long long, long long> q[n];
for (int i = 0; i < n; i++) {
cin >> q[i].f >> q[i].s;
}
sort(q, q + n);
vector<pair<long long, long long>> a;
long long s = 0;
for (int i = 0; i < n; i++) {
if (i > 0 && q[i].f == q[i - 1].f) {
s += q[i].s;
} else {
if (i > 0) {
a.push_back(make_pair(q[i - 1].f, s));
}
s = q[i].s;
}
}
a.push_back(make_pair(q[n - 1].f, s));
vector<long long> sum;
long long l = 0;
for (int i = 0; i < a.size(); i++) {
l += a[i].s;
sum.push_back(l);
}
long long m = 0;
for (int i = 0; i < a.size(); i++) {
long long r = 0;
for (int j = i + 1; j < a.size(); j++) {
if (i - 1 < 0) s = sum[j];
else s = sum[j] - sum[i - 1];
//cout << s << endl;
r = s - (a[j].f - a[i].f);
m = max(m, r);
}
}
cout << m << endl;
return 0;
}
Compilation message (stderr)
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |