QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#695966#9528. New Energy VehicleYaeMik0WA 2ms13848kbC++231.6kb2024-10-31 21:11:322024-10-31 21:11:34

Judging History

This is the latest submission verdict.

  • [2024-10-31 21:11:34]
  • Judged
  • Verdict: WA
  • Time: 2ms
  • Memory: 13848kb
  • [2024-10-31 21:11:32]
  • Submitted

answer

#include<bits/stdc++.h>
#define INF 2147483647LL
#define int long long
#define MAXN 500005
#define mod 1000000007
#define PI 3.14
#define eps 1e-10
#define pa pair<int,int>
#define ms(a,x) memset(a,x,sizeof(a))
#define mc(ar1,ar2) memcpy(ar1,ar2,sizeof(ar2))
#define mkp(a,b) make_pair(a,b)
#define ls (p<<1)
#define rs (p<<1|1)
#define fn(i,st,ed) for(int i=st;i<=ed;++i)
#define fd(i,st,ed) for(int i=st;i>=ed;--i)
#define fg(i,x,head,e) for(int i=head[x];~i;i=e[i].nxt)
using namespace std;
inline int read(){int x=0,f=1;char c=getchar();while(!isdigit(c)){if(c=='-')f=-1;c=getchar();}while(isdigit(c)){x=x*10+c-'0';c=getchar();}return x*f;}
int a[MAXN],x[MAXN],t[MAXN],lst[MAXN],dis[MAXN],nowdis[MAXN];
void solve(){
    int n,m,ans=0,sum=0;cin>>n>>m;
    fn(i,1,n)cin>>a[i];
    fn(i,1,m)cin>>x[i]>>t[i];
    fn(i,1,n)t[m+i]=i;
    fn(i,1,n)nowdis[i]=0;
    fd(i,n+m,1)lst[i]=nowdis[t[i]],nowdis[t[i]]=i;
    fn(i,1,n)dis[i]=a[i];
    fn(i,1,n)sum+=dis[i];
    priority_queue<int,vector<int>,greater<int> >q;
    fn(i,1,n+m)q.push(i);
    fn(i,1,m){
        int tmp=x[i]-x[i-1];
        while(!q.empty()&&q.top()<i)q.pop();
        while(tmp&&!q.empty()){
            int stp=t[q.top()],len=min(tmp,dis[stp]);
            dis[stp]-=len,sum-=len,tmp-=len;
            if(!dis[stp])q.pop();
        }
        if(tmp)break;
        sum+=a[t[i]]-dis[t[i]];
        dis[t[i]]=a[t[i]];
        ans=max(ans,x[i]+sum);
        if(lst[i])q.push(lst[i]);
    }
    cout<<ans<<endl;
}
signed main(){
    ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);
    int T;cin>>T;
    while(T--){solve();}
    return 0;
}

详细

Test #1:

score: 100
Accepted
time: 2ms
memory: 13848kb

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

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
0
11
0
2000000000

result:

wrong answer 3rd lines differ - expected: '4', found: '0'