QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#743639#9528. New Energy VehicleabovecloudWA 1ms3604kbC++141.2kb2024-11-13 19:41:522024-11-13 19:41:53

Judging History

This is the latest submission verdict.

  • [2024-11-13 19:41:53]
  • Judged
  • Verdict: WA
  • Time: 1ms
  • Memory: 3604kb
  • [2024-11-13 19:41:52]
  • Submitted

answer

/*Time:2024-11-13 15:52:45*/
#include <bits/stdc++.h>
using namespace std;
#define int long long
#define pii pair<int,int>
#define second se
#define first fi
#define vi vector<int>
#define vvi vector<vi>
#define all(v) v.begin(),v.end()
const int MOD = (int) 1e9 + 7;
const int INF = INT_MAX;
// const int MAXN = 


void solve() {
	int n,m;
	cin >> n >> m;
	vi v(n+1),a(n+1),dis(m+1),b(m+1),able;
	for(int i = 1;i<=n;i++){
		cin >> v[i];
		a[i] = v[i];
	}
	for(int i = 1;i<=m;i++){
		cin >> dis[i] >> b[i];
		able.push_back(b[i]);
	}
	for(int i=1;i<=n;i++){
		able.push_back(i);
	}
	int M = able.size();
	vi cnt(n+1,0);
	int now = 0;
	for(int i = 1;i<=m;i++){
		int j = i;
		while(now<dis[i]){
			for(;j<M;j++){
				if(a[able[j]]>0)break;
			}
			if(j==M)break;
			int t = min(a[able[j]],dis[i] - now);
			a[able[j]] -= t;
			now += t;
		}
		if(j==M)break;
		a[b[i]] = v[b[i]];
	}
	for(int i=1;i<=n;i++){
		now+=a[i];
	}
	cout << now << endl;
}

int32_t main() {
    std::ios::sync_with_stdio(false);
    std::cin.tie(nullptr);
    cout << fixed << setprecision(12);
    int T = 1;
    cin >> T;
    while (T--)solve();
}

详细

Test #1:

score: 100
Accepted
time: 1ms
memory: 3604kb

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: 3520kb

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:

9
9
4
9
999999999
2000000000

result:

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