제출 #1347995

#제출 시각아이디문제언어결과실행 시간메모리
1347995Faisal_SaqibPotatoes and fertilizers (LMIO19_bulves)C++20
100 / 100
90 ms12472 KiB
#include <iostream>
#include <queue>
using namespace std;
typedef long long ll;
int main()
{
    ios::sync_with_stdio(0);
    cin.tie(0);
    cout.tie(0);
    int n;
    cin>>n;
    int a[n],b[n];
    ll p[n+2]={0};
    for(int i=0;i<n;i++)
    {
        cin>>a[i]>>b[i];
        p[i+1]=p[i]+a[i]-b[i];
    }
    // p[n]>=p[i]>=0
    // p[i]<=p[i+1]
    ll fnl=0;
    for(int i=1;i<=n;i++)
    {
        if(p[i]<0)
        {
            fnl-=p[i];
            p[i]=0;
        }
        else if(p[i]>p[n])
        {
            fnl+=p[i]-p[n];
            p[i]=p[n];
        }
    }
    priority_queue<ll> pq;
    for(int i=0;i<n;i++)
    {
        pq.push(p[i]);
        pq.push(p[i]);
        fnl+=(pq.top()-p[i]);
        pq.pop();
    }
    
    cout<<fnl<<endl;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...