QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#683358#9528. New Energy VehiclecarboxylBase#WA 1ms9804kbC++231.5kb2024-10-27 20:30:172024-10-27 20:30:18

Judging History

This is the latest submission verdict.

  • [2024-10-27 20:30:18]
  • Judged
  • Verdict: WA
  • Time: 1ms
  • Memory: 9804kb
  • [2024-10-27 20:30:17]
  • Submitted

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;
}

詳細信息

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'