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 <iostream>
#include <queue>
#include <algorithm>
#include <utility>
#include <vector>
int n;
long long ans = 0;
long long suffixmax[500005];
std::pair <long long, long long> Art[500005];
int main()
{
std::ios_base::sync_with_stdio(false);
std::cin.tie(0);
std::cout.tie(0);
std::cin >> n;
for(int i = 1; i <= n; i++)
{
std::cin >> Art[i].first >> Art[i].second;
}
sort(Art + 1, Art + n + 1);
for(int i = 1; i <= n; i++)
{
Art[i].second += Art[i - 1].second;
}
suffixmax[n] = Art[n].second - Art[n].first;
for(int i = n - 1; i >= 1; i--)
{
suffixmax[i] = std::max(suffixmax[i + 1], Art[i].second - Art[i].first);
}
for(int i = 1; i <= n; i++)
{
ans = std::max(ans, suffixmax[i] - Art[i - 1].second + Art[i].first);
}
std::cout << ans;
}
# | 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... |