QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#683358 | #9528. New Energy Vehicle | carboxylBase# | WA | 1ms | 9804kb | C++23 | 1.5kb | 2024-10-27 20:30:17 | 2024-10-27 20:30:18 |
Judging History
answer
#include <bits/stdc++.h>
using namespace std;
#define int long long
typedef long long ll;
int n,m;
int a[2000000];
int b[2000000];
int x[2000000];
int t[2000000];
void solve()
{
cin >> n >> m;
int sum = 0;
for (int i = 1;i<n+1;i++){
cin >> a[i];
sum += a[i];
b[i] = a[i];
}
for (int i = 1;i<m+1;i++){
cin >> x[i] >> t[i];
}
int daikuan = 0;
int pos = 0;
for (int i = 1;i<=m;i++){
// cout<<i<<" "<<sum<<" "<<daikuan<<endl;
if (sum - daikuan < x[i] - pos){
cout<<i<<endl;
break;
}
if (daikuan > b[t[i]]){
daikuan -= b[t[i]];
sum -= b[t[i]];
b[t[i]] = 0;
}else{
sum -= daikuan;
b[t[i]] -= daikuan;
daikuan = 0;
}
if (x[i]-pos<=b[t[i]]){
sum += a[t[i]] - b[t[i]];
b[t[i]] = a[t[i]];
pos = x[i];
}else{
sum += a[t[i]] - b[t[i]];
daikuan += x[i] - pos - b[t[i]];
b[t[i]] = a[t[i]];
pos = x[i];
}
}
// cout<<sum<<" "<<daikuan<<endl;
pos += sum - daikuan;
cout<<pos<<endl;
return;
}
signed main()
{
// freopen("input.txt", "r", stdin);
// freopen("output.txt", "w", stdout);
ios::sync_with_stdio(0), cin.tie(nullptr), cout.tie(0);
int t = 1;
cin >> t;
while (t--)
{
solve();
}
return 0;
}
Details
Tip: Click on the bar to expand more detailed information
Test #1:
score: 100
Accepted
time: 1ms
memory: 9732kb
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: 9804kb
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 1 4 11 1 999999999 2000000000
result:
wrong answer 1st lines differ - expected: '9', found: '10'