QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#855766#9745. 递增序列liujunyi123WA 36ms3896kbC++14785b2025-01-13 10:32:382025-01-13 10:32:39

Judging History

This is the latest submission verdict.

  • [2025-01-13 10:32:39]
  • Judged
  • Verdict: WA
  • Time: 36ms
  • Memory: 3896kb
  • [2025-01-13 10:32:38]
  • Submitted

answer

#include<bits/stdc++.h>
using namespace std;
const int N=2e5+5;
int T,n,vis[65];long long k,x,lst; 
void solve(){bool fl=0;
	memset(vis,-1,sizeof(vis));
	scanf("%d%lld%lld",&n,&k,&lst);
	for(int i=2;i<=n;i++){
		scanf("%lld",&x);
		for(int j=60;j>=0;j--)if((x>>j)!=(lst>>j)){
			if(vis[j]!=-1&&((x>>j)&1)!=!vis[j])fl=1;
			vis[j]=!((x>>j)&1);
//			cout<<i<<" "<<j<<endl;
			break ;
		}
		lst=x;
	}
	long long sum=0;
	if(fl)return puts("0"),void();
	for(int i=60;i>=0;i--){
//		cout<<vis[i]<<endl;
		if(((k>>i)&1)&&(vis[i]==-1||!vis[i])){
			long long s=1;
			for(int j=0;j<i;j++)if(vis[j]==-1)s*=2;
			sum+=s; 
		}
		if(vis[i]!=-1&&vis[i]!=((k>>i)&1))break ;
	}
	printf("%lld\n",sum);
}
int main(){
	scanf("%d",&T);
	while(T--)solve(); 
	return 0;
}

详细

Test #1:

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

input:

1
4 17
3 2 5 16

output:

4

result:

ok single line: '4'

Test #2:

score: -100
Wrong Answer
time: 36ms
memory: 3824kb

input:

36156
2 732025001343805266
563399128172323734 55283226774627822
7 388099190813067712
564150557919527813 457487771983557281 332055400678110195 760833651510929158 785768483273197875 690506113272551236 463276585748519124
2 798714574862593347
426890163990834364 434764725667883272
1 414708220571820990
42...

output:

288230376151711744
0
432345564227567616
414708220571820990
716398192192370637
0
1949654914769743
0
0
0
811009189367843522
0
0
0
114457959388827197
36028797018963968
0
0
91540211282631658
0
694703231769895639
144115188075855872
0
0
0
0
432345564227567616
65333152962117910
753346372609875092
180143985...

result:

wrong answer 4th lines differ - expected: '414708220571820991', found: '414708220571820990'