제출 #1082008

#제출 시각아이디문제언어결과실행 시간메모리
1082008lamlamlamArt Exhibition (JOI18_art)C++17
100 / 100
159 ms36944 KiB
#include <bits/stdc++.h>
using namespace std;
#define int long long
#define endl '\n'
const int MN = 5e5+5;
int n;
__int128 pre[MN],suf[MN],ans,tmp;
pair<int,int> a[MN];
void printt(__int128 x)
{
    string res = "";
    if(x==0) {
        cout << 0;
        return;
    }
    bool am = false;
    if(x<0) am = true, x = -x;
    while(x!=0){
        res += '0' + x%10;
        x /= 10;
    }
    if(am) cout << '-';
    for(int i=res.size()-1; i>=0; i--) cout << res[i];
}

signed main()
{
    ios_base::sync_with_stdio(false);
    cin.tie(NULL);
    #define task "JOI18_ART"
    if(fopen(task".inp","r")){
        freopen(task".inp","r",stdin);
        freopen(task".out","w",stdout);
    }
    cin >> n;
    for(int i=1; i<=n; i++) cin >> a[i].first >> a[i].second;
    sort(a+1,a+1+n);
    for(int i=1; i<=n; i++) pre[i] = a[i].second - (a[i].first-a[i-1].first);
    for(int i=1; i<=n; i++) pre[i] += pre[i-1];
    suf[n+1] = -1e36;
    for(int i=n; i>0; i--) suf[i] = max(suf[i+1],pre[i]);
    ans = a[n].second;
    for(int i=1; i<n; i++) {
        tmp = a[i].second;
        ans = max(ans,tmp+suf[i]-pre[i]);
    }
    printt(ans);
    cerr << "\nTime: " << 1000.0 * clock() / CLOCKS_PER_SEC << endl;
}

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

art.cpp: In function 'int main()':
art.cpp:32:16: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   32 |         freopen(task".inp","r",stdin);
      |         ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
art.cpp:33:16: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   33 |         freopen(task".out","w",stdout);
      |         ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...