QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#439441#8302. Incoming AsteroidsmoyujiangWA 79ms37440kbC++141.5kb2024-06-11 22:10:402024-06-11 22:10:40

Judging History

你现在查看的是最新测评结果

  • [2024-06-11 22:10:40]
  • 评测
  • 测评结果:WA
  • 用时:79ms
  • 内存:37440kb
  • [2024-06-11 22:10:40]
  • 提交

answer

#include<bits/stdc++.h>
#define For(i,a,b) for(int i=(a),i##END=(b);i<=i##END;i++)
#define Rof(i,b,a) for(int i=(b),i##END=(a);i>=i##END;i--)
#define go(u) for(int i=head[u];i;i=nxt[i])
#define int long long
using namespace std;
inline int read(){
    int x=0,f=1;
    char ch=getchar();
    while(ch<'0'||ch>'9'){if(ch=='-')f=-1;ch=getchar();}
    while(ch>='0'&&ch<='9'){x=(x<<1)+(x<<3)+(ch^48);ch=getchar();}
    return x*f;
}
const int N=2e5+10;
int n,m,lst,o[N][3],Tag[N][3];
int idx,Y[N],d[N];
struct node{
	int id,val;
	bool operator < (const node &x) const {
		return val<x.val;
	}
};
multiset<node> s[N];
int tag[N];
bool check(int id){
	int y=0;For(i,0,2)y+=tag[o[id][i]]-Tag[id][i];
	return y>=Y[id];
}
void upd(int id){
	For(i,0,2)Y[id]-=tag[o[id][i]]-Tag[id][i],Tag[id][i]=tag[o[id][i]];
	For(i,0,2)s[o[id][i]].insert((node){idx,Y[id]/3+1+tag[o[id][i]]});
}
signed main(){
	n=read(),m=read();while(m--){
		int op=read();
		if(op==1){
			int y=read()^lst,k=read();
			Y[++idx]=y;
			For(j,1,k){
				int x=read()^lst;
				o[idx][j-1]=x;
				Tag[idx][j-1]=tag[x];
				s[x].insert((node){idx,y/3+1+tag[x]});
			}
		}else{
			int x=read()^lst,y=read()^lst;vector<int> ans;
			tag[x]+=y;while(!s[x].empty()&&tag[x]>=s[x].begin()->val){
				int id=s[x].begin()->id;s[x].erase(s[x].begin());
				if(!d[id]){
					if(check(id))d[id]=1,ans.push_back(id);
					else upd(id);
				}
			}sort(ans.begin(),ans.end());
			printf("%lld",lst=ans.size());for(int x:ans)printf(" %lld",x);
			puts("");
		}
	}
	return 0;
}

详细

Test #1:

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

input:

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

output:

0
0
2 1 2

result:

ok 3 lines

Test #2:

score: -100
Wrong Answer
time: 79ms
memory: 37440kb

input:

200000 200000
1 421386 1 122023
2 127573 97972
1 489180 1 197930
2 82505 59100
1 502097 3 91617 14193 139642
2 132931 74031
1 404862 1 36227
2 152826 8462
1 750072 2 51616 75416
2 1547 11479
1 255849 2 70036 41620
2 126414 17120
1 626334 3 97273 190595 174083
2 148803 132
1 407236 2 83898 5103
2 169...

output:

0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
...

result:

wrong answer 17620th lines differ - expected: '1 1386', found: '0'