제출 #46497

#제출 시각아이디문제언어결과실행 시간메모리
46497luciocfArt Exhibition (JOI18_art)C++14
100 / 100
729 ms225024 KiB
#include <bits/stdc++.h>

using namespace std;

typedef long long ll;

const int MAXN = 500010;
const ll INF = 1e16+10;

pair<ll, ll> num[MAXN];
ll soma[MAXN];

int main(void)
{
    int n;
    cin >> n;

    for (int i = 1; i <= n; i++)
        cin >> num[i].first >> num[i].second;
    sort(num+1, num+n+1);

    for (int i = 1; i <= n; i++)
        soma[i] = soma[i-1]+num[i].second;

    ll ans = -INF;

    /*for (int i = 1; i <= n; i++)
    {
        ans = max(ans, num[i].second);
        for (int j = i-1; j >= 1; j--)
            ans = max(ans, soma[i]-soma[j-1]-num[i].first+num[j].first);
    }*/

    ll aux = -INF;
    int pos = 1;
    for (int i = 1; i <= n; i++)
    {
        if (num[i].second > soma[i]-soma[pos-1]-num[i].first+num[pos].first)
            ans = max(ans, num[i].second), pos = i;
        else
            ans = max(ans, soma[i]-soma[pos-1]-num[i].first+num[pos].first);
    }
    cout << ans << "\n";
}

컴파일 시 표준 에러 (stderr) 메시지

art.cpp: In function 'int main()':
art.cpp:34:8: warning: unused variable 'aux' [-Wunused-variable]
     ll aux = -INF;
        ^~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...