QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#712159#9528. New Energy VehiclelanhuoWA 0ms3548kbC++171.1kb2024-11-05 14:44:042024-11-05 14:44:05

Judging History

This is the latest submission verdict.

  • [2024-11-05 14:44:05]
  • Judged
  • Verdict: WA
  • Time: 0ms
  • Memory: 3548kb
  • [2024-11-05 14:44:04]
  • Submitted

answer

#include<bits/stdc++.h>
using namespace std;
#pragma GCC optimize(2)
#pragma GCC optimize(3,"Ofast","inline")
#define int long long
#define endl '\n'
#define fi first
#define se second

int n,m,sum,last;

void solve(){
	cin>>n>>m;
	sum=0;
	last=0;
	vector<int>num(m+1);
	vector<int>now(n+1);
	vector<int>a(n+1);
	vector<pair<int,int>>ve(m);
	for(int i=1;i<=n;++i){
		cin>>a[i];
		sum+=a[i];
	}
	for(int i=0;i<m;++i){
		int x,y;
		cin>>x>>y;
		ve[i].fi=x;
		ve[i].se=y;
	}
	for(int i=0;i<m;++i){
		if(ve[i].fi<=sum){
			if(ve[i].fi-last>=a[ve[i].se]){
				num[i]=ve[i].fi-last-a[ve[i].se];
				sum+=a[ve[i].se];
			}
			else{
				num[i]=ve[i].fi-last;
				int x=a[ve[i].se];
				for(int j=now[ve[i].se]+1;j<=i;++j){
					if(x>num[j]){
						x-=num[j];
						sum+=num[j];
					}
					else{
						num[j]-=x;
						sum+=x;
						break;
					}
				}
			}
			last=ve[i].fi;
			now[ve[i].se]=i;
		}
		else{
			break;
		}
	}
	cout<<sum<<endl;
}
signed main(){
    ios::sync_with_stdio(false);
    cin.tie(0);
    cout.tie(0);
    int __=1;
	cin>>__;
    while(__--)solve();
    return 0;
}

Details

Tip: Click on the bar to expand more detailed information

Test #1:

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

input:

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

output:

12
8

result:

wrong answer 2nd lines differ - expected: '9', found: '8'