QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#697117#9528. New Energy VehicleyukinoWA 0ms3596kbC++171.5kb2024-11-01 10:45:002024-11-01 10:45:00

Judging History

This is the latest submission verdict.

  • [2024-11-01 10:45:00]
  • Judged
  • Verdict: WA
  • Time: 0ms
  • Memory: 3596kb
  • [2024-11-01 10:45:00]
  • Submitted

answer

#include<bits/stdc++.h>
#define ll long long
const int N=1e6+10;
const int M=1e6+10;
int mod=998244353;
#define lowbit(x) ((x)&(-x))
#define int long long
using namespace std;

void solve()
{
    int n,m;
    cin>>n>>m;
    vector<int> a(n+1),x(m+1),t(m+1);

    for(int i=1;i<=n;i++)
        cin>>a[i];
    auto b=a;
    queue<int> q;
    for(int i=1;i<=m;i++)
    {
        cin>>x[i]>>t[i];
        q.push(t[i]);
    }
    for(int i=1;i<=n;i++)
        q.push(i);
    int ans=0;
    for(int i=1;i<=m;i++)
    {
        int u=q.front();
        q.pop();
        if(a[u]>=(x[i]-x[i-1]))
        {
            ans+=(x[i]-x[i-1]);
        }
        else
        {
            int num=a[u];
            a[u]=0;
            int v=u;
            while(num<(x[i]-x[i-1])&&!q.empty())
            {
                 v=q.front();
                 q.pop();
                num+=a[v];
                a[v]=0;
            }
            if(num>=x[i]-x[i-1])
            {
                ans+=(x[i]-x[i-1]);
                a[v]=num-(x[i]-x[i-1]);
                if(a[v]>0)
                q.push(v);
            }else
            {
                ans+=num;
                break;
            }
        }
        a[t[i]]=b[t[i]];
        q.push(t[i]);
    }
//    for(int i=1;i<=n;i++)
//        ans+=a[i];
    cout<<ans<<"\n";
}
signed main()
{
    ios::sync_with_stdio(false);
    cin.tie(0);
    cout.tie(0);
    int t=1;
    cin>>t;
    while(t--)
    {
        solve();
    }
}

Details

Tip: Click on the bar to expand more detailed information

Test #1:

score: 0
Wrong Answer
time: 0ms
memory: 3596kb

input:

2
3 1
3 3 3
8 1
2 2
5 2
1 2
2 1

output:

8
2

result:

wrong answer 1st lines differ - expected: '12', found: '8'