QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#687603#9528. New Energy VehiclewzdxhxxWA 0ms3612kbC++17831b2024-10-29 19:56:292024-10-29 19:56:29

Judging History

This is the latest submission verdict.

  • [2024-10-29 19:56:29]
  • Judged
  • Verdict: WA
  • Time: 0ms
  • Memory: 3612kb
  • [2024-10-29 19:56:29]
  • Submitted

answer

#include <bits/stdc++.h>
#define int long long
using namespace std;
int t;
int n,m;
int a[200005];
signed main(){
	ios::sync_with_stdio(false);
	cin.tie(nullptr);
	cin>>t;
	while(t--){
		cin>>n>>m;
		int sum=0,sum1=0;
		vector<pair<int,int> > v;
		for(int i=1;i<=n;i++){
			cin>>a[i];
			sum+=a[i];
		}
		sum1=sum;
		int x,w;
		for(int i=1;i<=m;i++){
			cin>>x>>w;
			v.push_back({x,w});
		}
		sort(v.begin(),v.end());
		int ans=-1;
		int ff=0;
		for(int i=0;i<m;i++){
			if(v[i].first-ff>sum){
				ans=ff+sum;
				break;
			}
			
			sum-=v[i].first-ff;
			ff=v[i].first;
			sum+=min(sum1-sum,a[v[i].second]);
			//cout<<"sum+="<<min(sum1-sum,a[v[i].second])<<'\n';
			
		}
		if(ans!=-1){
			cout<<ans<<'\n';
			continue;
		}
		ans=ff+sum;
		cout<<ans<<'\n';
		
	}
	
	
	return 0;
}

Details

Tip: Click on the bar to expand more detailed information

Test #1:

score: 100
Accepted
time: 0ms
memory: 3612kb

input:

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

output:

12
9

result:

ok 2 lines

Test #2:

score: -100
Wrong Answer
time: 0ms
memory: 3612kb

input:

6
3 2
2 2 2
6 1
7 1
2 2
3 3
2 1
6 2
2 3
2 2
5 1
7 2
9 1
2 2
3 3
2 1
6 2
1 1
999999999
1000000000 1
1 1
1000000000
1000000000 1

output:

10
11
4
11
999999999
2000000000

result:

wrong answer 1st lines differ - expected: '9', found: '10'