QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#685369#9528. New Energy VehicleSakuruaWA 0ms3632kbC++201.9kb2024-10-28 19:05:032024-10-28 19:05:05

Judging History

This is the latest submission verdict.

  • [2024-10-28 19:05:05]
  • Judged
  • Verdict: WA
  • Time: 0ms
  • Memory: 3632kb
  • [2024-10-28 19:05:03]
  • Submitted

answer

#include<bits/stdc++.h>
using namespace std;
#define endl '\n'
#define dbg(x)  cout<<#x<<'='<<x<<endl
#define line cout<<endl<<"======================="<<endl
#define mark cout<<"***"<<endl
#define int long long
#define LL long long
#define INF 1e18
#define ENF -1e18
#define inf 0x3f3f3f3f
#define enf ~0x3f3f3f3f
#define IOS ios::sync_with_stdio(false),cin.tie(0), cout.tie(0)
#define pi acos(-1)
#define ULL unsigned long long
#define pb push_back
#define lson (rt << 1)
#define rson (rt << 1 | 1)
#define gmid (l + r >> 1)
#define PII pair<int,int>
const int mod=998244353;
const double eps = 1e-6;
const int dx4[4]={1,0,-1,0},dy4[4]={0,1,0,-1},dx8[8]={1,1,0,-1,-1,-1,0,1},dy8[8]={0,1,1,1,0,-1,-1,-1};
const int N = 1e5 + 10;

int n,m,a[N];
struct node
{
    int x,t;
}b[N];

bool cmp(node x,node y)
{
    return x.x<y.x;
}

void solve()
{
    cin>>n>>m;
    int ans=0;
    for(int i=1;i<=n;i++) 
    {
        cin>>a[i];
        ans+=a[i];
    }
    for(int i=1;i<=m;i++)
    {
        cin>>b[i].x>>b[i].t;
    }
    sort(b+1,b+1+m,cmp);

    // for(int i=1;i<=m;i++)
    //     cout<<b[i].x<<' '<<b[i].t<<endl;
    // cout<<endl;
    // line;
    // dbg(ans);
    int sum=0;
    for(int i=1;i<=m;i++)
    {
        int deltaX=b[i].x-b[i-1].x,id=b[i].t;
        sum+=deltaX;
        // dbg(i);
        // cout<<deltaX<<' '<<sum<<endl;
        if(sum>=a[id])
        {
            // cout<<">="<<endl;
            ans+=a[id];
            sum-=a[id];
        }
        else
        {
            // cout<<"<"<<endl;
            ans+=sum;
            sum=0;
        }
        // cout<<sum<<' '<<ans<<endl;
        // cout<<endl;
    }
    // line;
    cout<<ans<<endl;
    //cout<<"Correct Running!"<<endl;
}

signed main()
{
    IOS;
    int T;
    T = 1;
    cin>>T;
    for(int cases=1;cases<=T;cases++)
    {
        //cout<<"Case #"<<cases<<": "<<endl;
        solve();
    }
    return 0;
}

详细

Test #1:

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

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

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
10
11
1999999998
2000000000

result:

wrong answer 1st lines differ - expected: '9', found: '10'