QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#700926#9528. New Energy Vehiclefosov#WA 0ms3640kbC++141.1kb2024-11-02 13:32:562024-11-02 13:33:17

Judging History

This is the latest submission verdict.

  • [2024-11-02 13:33:17]
  • Judged
  • Verdict: WA
  • Time: 0ms
  • Memory: 3640kb
  • [2024-11-02 13:32:56]
  • Submitted

answer

#include "bits/stdc++.h"
using namespace std;

#define ll long long 
#define INF 0x3f3f3f3f
#define LNF 0x3f3f3f3f3f3f3f3fll
#define MOD 998244353
#define pii pair<int, int>

#define N 100010

ll a[N], prsv[N], pre[N];

int main() {
#ifdef TEST
    freopen("zz.in", "r+", stdin);
#endif
    ios::sync_with_stdio(0);
    cin.tie(0);
    cout.tie(0);

    int t; cin >> t;
    while (t --) {
        int n, m; cin >> n >> m;

        
        ll cap = 0;
        for (int i = 1; i <= n; ++ i) cin >> a[i], cap += a[i];

        vector<pii> sta(m);
        for (int i = 0; i < m; ++ i) cin >> sta[i].first >> sta[i].second;
        sort(sta.begin(), sta.end());
        

        ll x = 0;
        int i = 1;
        for (auto& [sx, bt] : sta) {
            ll d = sx - x;
            if (cap < d) break;
            x = sx;
            cap -= d;

            ll cp = prsv[i-1] - prsv[pre[bt]];
            ll recharge = min(1ll * a[bt], d - cp);
            cap += recharge;
            prsv[i] = prsv[i-1] + recharge;

            pre[bt] = i;
            ++ i;
        }
        cout << x + cap << '\n';
    }
}

Details

Tip: Click on the bar to expand more detailed information

Test #1:

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

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

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
10
4
12
999999999
2000000000

result:

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