QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#702531#9528. New Energy Vehicleyzhx#RE 0ms0kbC++201021b2024-11-02 16:09:372024-11-02 16:09:40

Judging History

This is the latest submission verdict.

  • [2024-11-02 16:09:40]
  • Judged
  • Verdict: RE
  • Time: 0ms
  • Memory: 0kb
  • [2024-11-02 16:09:37]
  • Submitted

answer

#include <stdlib.h>
#include <iostream>
#include <vector>
using namespace std;

using ll = long long;

void slove() {
    int n, m;
    cin >> n >> m;
    
    ll tot = 0;
    vector<int> cap(n + 1);
    vector<int> pre(n + 1);
     
    for (int i = 1 ; i <= n ; i++) {
        cin >> cap[i];
        tot += cap[i];
    }

    ll fre = 0;
    ll pos = 0;

    vector<int> tar(m + 1) , type(m + 1);
    for (int i = 1 ; i <= m ; i++){
        cin >> tar[i] >> type[i];
    }

    for (int i =1 ; i <= m ; i++){
        if (tot + fre >= tar[i]){
            fre += min(cap[type[i]] , tar[i] - pre[type[i]]);
            fre = min(fre , (ll)tar[i]);
            pre[type[i]] = tar[i];
        }else break;
    }

    ll ans = tot + fre;
    // cout << fre << "\n";
    cout << ans << "\n";

}

int main() {
     freopen("in.txt", "r", stdin);
     freopen("out.txt", "w", stdout);
    int cnt = 1;
    cin >> cnt;
    while (cnt--) {
        slove();
    }
    return 0;
}

Details

Tip: Click on the bar to expand more detailed information

Test #1:

score: 0
Dangerous Syscalls

input:

2
3 1
3 3 3
8 1
2 2
5 2
1 2
2 1

output:


result: