이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#include <bits/stdc++.h>
using namespace std;
const int maxn = 5e5 + 10;
typedef long long ll;
int n;
ll k[maxn], p[maxn];
struct obj
{
ll val, size;
} it[maxn];
bool compara(obj a, obj b)
{
if(a.size == b.size) return a.val < b.val;
return a.size < b.size;
}
int main()
{
ios::sync_with_stdio(false), cin.tie(nullptr);
cin >> n;
for(int i = 1; i <= n; i++)
{
cin >> it[i].size >> it[i].val;
}
sort(it + 1, it + n + 1, compara);
for(int i = 1; i <= n; i++)
{
p[i] = it[i].val + p[i - 1];
}
k[n] = p[n]-it[n].size;
for(int i = n-1; i >= 1; i--)
{
k[i] = max(k[i + 1], p[i] - it[i].size);
}
ll ans = 0;
for(int i = 1; i < n; i++)
{
ans = max(ans, it[i].size - p[i - 1] + k[i]);
}
cout << ans << "\n";
return 0;
}
# | 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... |