QOJ.ac
QOJ
ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#689497 | #9528. New Energy Vehicle | Swd146296# | WA | 1ms | 5724kb | C++17 | 1.2kb | 2024-10-30 17:25:06 | 2024-10-30 17:25:07 |
Judging History
answer
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
int _, n, m;
ll a[100007],now[100007];
ll x[100007],t[100007];
int main()
{
cin >> _;
while(_--)
{
cin >> n >> m;
for(int i = 1; i <= n; i++)
cin >> a[i], now[i] = a[i];
for(int i = 1; i <= m; i++)
cin >> x[i] >> t[i];
ll cnt = 0, ans = 0;
for(int i = 1; i <= m; i++)
{
int nowbat = i;
int next;
while(ans <= x[i])
{
if(nowbat <= m)
{
next = t[nowbat];
if(now[next] + ans >= x[i])
{
now[next] -= x[i] - ans;
ans = x[i];
break;
}
else {
ans += now[next];
now[next] = 0;
++nowbat;
if(nowbat > m)
next = 1;
}
}
else
{
if(now[next] + ans >= x[i])
{
now[next] -= x[i] - ans;
ans = x[i];
break;
}
else {
ans += now[next];
now[next] = 0;
}
++next;
if(next > n)
break;
}
}
now[t[i]] = a[t[i]];
}
// for(int i = 1; i <= n; i++)
// cout << now[i] <<' ';
if(ans >= x[m])
for(int i = 1; i <= n; i++)
ans += now[i];
cout << ans << endl;
}
return 0;
}
詳細信息
Test #1:
score: 100
Accepted
time: 0ms
memory: 5656kb
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: 1ms
memory: 5724kb
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 11 8 11 999999999 2000000000
result:
wrong answer 3rd lines differ - expected: '4', found: '8'