QOJ.ac
QOJ
ID | 题目 | 提交者 | 结果 | 用时 | 内存 | 语言 | 文件大小 | 提交时间 | 测评时间 |
---|---|---|---|---|---|---|---|---|---|
#931993 | #10155. Bit Counting Sequence | Zawos# | RE | 19ms | 11176kb | C++20 | 1.3kb | 2025-03-12 02:28:59 | 2025-03-12 02:29:00 |
Judging History
answer
#include <bits/stdc++.h>
#define FOR(i,a,b) for (int i = (a); i < (b); i++)
using namespace std;
using ll=long long;
//上
int main(){
ios_base::sync_with_stdio(false);
cin.tie(NULL);
int t; cin >> t;
while(t--){
ll n; cin >> n;
vector<ll> v(n);
FOR(i,0,n) cin >> v[i];
if(n == 1){
ll x = 1;
for(int i = 0; i < v[0];i++) x*=2;
x--;
cout<<x<<'\n';
}else{
pair<ll,ll> pa ={-2,-1};
for(int i = 1; i < n; i++){
if(v[i-1] - v[i] > pa.first){
pa = {v[i-1]-v[i],i};
}
}
vector<ll> ans(n);
ll x = 1;
for(int i = 1; i <=pa.first+1;i++) x*=2;
for(int j = pa.first+2; j <=pa.first+v[pa.second];j++) x^=(1LL<<j);
ans[pa.second] = x;
for(int i = pa.second-1; i>=0;i--) ans[i] = ans[i+1]-1;
for(int i = pa.second+1;i <n;i++) ans[i] = ans[i-1]+1;
bool ok = true;
for(int i = 0 ; i < n; i++){
if(ans[i] <0 || __builtin_popcountll(ans[i])!= v[i]) ok = false;
}
if(ok){
cout<<ans[0]<<'\n';
}else cout<<-1<<'\n';
}
}
}
詳細信息
Test #1:
score: 100
Accepted
time: 0ms
memory: 3584kb
input:
4 5 3 3 4 1 2 3 2 1 2 2 60 60 2 8 0
output:
13 3 2305843009213693949 -1
result:
ok 4 lines
Test #2:
score: 0
Accepted
time: 19ms
memory: 10980kb
input:
1 500000 9 9 10 9 10 10 11 8 9 9 10 9 10 10 11 9 10 10 11 10 11 11 12 8 9 9 10 9 10 10 11 9 10 10 11 10 11 11 12 9 10 10 11 10 11 11 12 10 11 11 12 11 12 12 13 3 4 4 5 4 5 5 6 4 5 5 6 5 6 6 7 4 5 5 6 5 6 6 7 5 6 6 7 6 7 7 8 4 5 5 6 5 6 6 7 5 6 6 7 6 7 7 8 5 6 6 7 6 7 7 8 6 7 7 8 7 8 8 9 4 5 5 6 5 6 ...
output:
100297
result:
ok single line: '100297'
Test #3:
score: 0
Accepted
time: 5ms
memory: 3584kb
input:
1000 33 2 2 3 1 2 2 3 2 3 3 4 1 2 2 3 2 3 3 4 2 3 3 4 3 4 4 5 1 2 2 3 2 3 209 3 2 3 3 4 1 2 2 3 2 3 3 4 2 3 3 4 3 4 4 5 1 2 2 3 2 3 3 4 2 3 3 4 3 4 4 5 2 3 3 4 3 4 4 5 3 4 4 5 4 5 5 6 1 2 2 3 2 3 3 4 2 3 3 4 3 4 4 5 2 3 3 4 3 4 4 5 3 4 4 5 4 5 5 6 2 3 3 4 3 4 4 5 3 4 4 5 4 5 5 6 3 4 4 5 4 5 5 6 4 5 ...
output:
5 11 10 15 17 3 17 2 2 7 4 4 10 1 17 10 19 13 3 4 7 4 7 15 8 14 15 8 3 17 2 12 1 11 16 4 12 4 2 5 7 19 12 2 7 3 10 2 0 0 11 7 10 7 1 3 11 16 9 9 15 15 1 2 16 9 9 5 9 19 8 17 7 15 2 12 16 2 6 17 8 16 3 7 14 6 4 18 3 10 11 3 1 14 8 16 10 12 19 8 1 12 19 4 2 12 8 10 6 8 7 7 1 15 12 18 8 4 8 5 4 12 10 1...
result:
ok 1000 lines
Test #4:
score: 0
Accepted
time: 6ms
memory: 3712kb
input:
1000 115 2 2 3 2 3 3 4 2 3 3 4 3 4 4 5 1 2 2 3 2 3 3 4 2 3 3 4 3 4 4 5 2 3 3 4 3 4 4 5 3 4 4 5 4 5 5 6 1 2 2 3 2 3 3 4 2 3 3 4 3 4 4 5 2 3 3 4 3 4 4 5 3 4 4 5 4 5 5 6 2 3 3 4 3 4 4 5 3 4 4 5 4 5 5 6 3 4 4 5 4 5 5 6 4 5 5 6 5 6 6 7 1 2 2 3 81 2 3 2 3 3 4 1 2 2 3 2 3 3 4 2 3 3 4 3 4 4 5 1 2 2 3 2 3 3 ...
output:
17 10 9 8 9 0 19 16 14 10 16 9 10 13 8 7 19 16 5 2 3 16 13 0 5 15 12 5 9 11 9 6 14 19 5 13 10 9 16 11 15 0 12 7 6 19 4 10 5 15 3 13 10 8 8 7 19 19 15 6 2 19 9 2 7 6 14 6 4 9 19 3 17 10 3 16 7 5 3 12 18 14 1 2 14 0 5 1 11 17 14 2 0 5 8 9 4 17 16 19 6 18 4 2 1 4 12 7 11 6 5 4 2 1 8 19 6 11 14 19 14 3 ...
result:
ok 1000 lines
Test #5:
score: 0
Accepted
time: 1ms
memory: 3584kb
input:
61 1 0 1 1 1 2 1 3 1 4 1 5 1 6 1 7 1 8 1 9 1 10 1 11 1 12 1 13 1 14 1 15 1 16 1 17 1 18 1 19 1 20 1 21 1 22 1 23 1 24 1 25 1 26 1 27 1 28 1 29 1 30 1 31 1 32 1 33 1 34 1 35 1 36 1 37 1 38 1 39 1 40 1 41 1 42 1 43 1 44 1 45 1 46 1 47 1 48 1 49 1 50 1 51 1 52 1 53 1 54 1 55 1 56 1 57 1 58 1 59 1 60
output:
0 1 3 7 15 31 63 127 255 511 1023 2047 4095 8191 16383 32767 65535 131071 262143 524287 1048575 2097151 4194303 8388607 16777215 33554431 67108863 134217727 268435455 536870911 1073741823 2147483647 4294967295 8589934591 17179869183 34359738367 68719476735 137438953471 274877906943 549755813887 1099...
result:
ok 61 lines
Test #6:
score: 0
Accepted
time: 18ms
memory: 11176kb
input:
1 500000 27 28 28 29 28 29 29 30 27 28 28 29 28 29 29 30 28 29 29 30 29 30 30 31 27 28 28 29 28 29 29 30 28 29 29 30 29 30 30 31 28 29 29 30 29 30 30 31 29 30 30 31 30 31 31 32 27 28 28 29 28 29 29 30 28 29 29 30 29 30 30 31 28 29 29 30 29 30 30 31 29 30 30 31 30 31 31 32 28 29 29 30 29 30 30 31 29 ...
output:
1099510361352
result:
ok single line: '1099510361352'
Test #7:
score: 0
Accepted
time: 1ms
memory: 3584kb
input:
625 4 0 0 0 0 4 0 0 0 1 4 0 0 0 2 4 0 0 0 3 4 0 0 0 4 4 0 0 1 0 4 0 0 1 1 4 0 0 1 2 4 0 0 1 3 4 0 0 1 4 4 0 0 2 0 4 0 0 2 1 4 0 0 2 2 4 0 0 2 3 4 0 0 2 4 4 0 0 3 0 4 0 0 3 1 4 0 0 3 2 4 0 0 3 3 4 0 0 3 4 4 0 0 4 0 4 0 0 4 1 4 0 0 4 2 4 0 0 4 3 4 0 0 4 4 4 0 1 0 0 4 0 1 0 1 4 0 1 0 2 4 0 1 0 3 4 0 1 ...
output:
-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 0 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -...
result:
ok 625 lines
Test #8:
score: 0
Accepted
time: 2ms
memory: 3584kb
input:
1000 50 26 27 26 27 27 28 26 27 27 28 27 28 28 29 25 26 26 27 26 27 27 28 26 27 27 28 27 28 28 29 26 27 27 28 27 28 28 29 27 28 28 29 28 29 29 30 1 2 2 3 50 20 19 20 20 21 16 17 17 18 17 18 18 19 17 18 18 19 18 19 19 20 17 18 18 19 18 19 19 20 18 19 19 20 19 20 20 21 17 18 18 19 18 19 19 20 18 19 19...
output:
1073741778 4194235 966 32711 148 77 8589934589 71 8388560 8140 4065 288230376151711688 1073741786 68719476713 8589934562 45 35184372088784 75 -1 4078 16777149 4294967235 137438953454 8388584 32753 17592186044351 35184372088795 16777194 4027 144 76 2199023255509 134217708 131048 147 2251799813685220 ...
result:
ok 1000 lines
Test #9:
score: 0
Accepted
time: 1ms
memory: 3584kb
input:
1000 50 4 3 4 4 5 2 3 3 4 3 4 4 5 3 4 4 5 4 5 5 6 2 3 3 4 3 4 4 5 3 4 4 5 4 5 5 6 3 4 4 5 4 5 5 6 4 5 5 6 5 50 5 3 4 4 5 4 5 5 6 2 3 3 4 3 4 4 5 3 4 4 5 4 5 5 6 3 4 4 5 4 5 5 6 4 5 5 6 5 6 6 7 2 3 3 4 3 4 4 5 3 50 19 19 20 18 19 19 20 19 20 20 21 18 19 19 20 19 20 20 21 19 20 20 21 20 21 21 22 1 2 2...
output:
75 151 4194277 8796093022151 39 4398046511099 56 1099511627742 36028797018963963 144115188075855797 72057594037927931 576460752303423456 -1 2097107 1099511627716 16777161 997 32700 2251799813685224 1125899906842599 149 9007199254740974 144115188075855815 151 153 36028797018963889 156 67108831 112589...
result:
ok 1000 lines
Test #10:
score: 0
Accepted
time: 1ms
memory: 3584kb
input:
1000 50 12 12 13 10 11 11 12 11 12 12 13 11 12 12 13 12 13 13 14 1 2 2 3 2 3 3 4 2 3 3 4 3 4 4 5 2 3 3 4 3 4 4 5 3 4 4 5 4 5 5 50 18 17 18 18 19 17 18 18 19 18 19 19 20 17 18 18 19 18 19 19 20 18 19 19 20 19 20 20 21 1 2 2 3 2 3 3 4 2 3 3 4 3 4 4 5 2 3 3 4 3 50 19 18 19 19 20 18 19 19 20 19 20 20 21...
output:
16365 2097123 4194227 146 8168 80 149 8138 1125899906842576 281474976710623 143 144115188075855810 274877906875 246 67108842 32701 73 140737488355254 562949953421234 35184372088827 21 2199023255475 18014398509481934 70368744177659 68 2251799813685205 1048541 2147483639 32738 34359738299 900719925474...
result:
ok 1000 lines
Test #11:
score: 0
Accepted
time: 17ms
memory: 10980kb
input:
1 500000 32 32 33 32 33 33 34 30 31 31 32 31 32 32 33 31 32 32 33 32 33 33 34 31 32 32 33 32 33 33 34 32 33 33 34 33 34 34 35 30 31 31 32 31 32 32 33 31 32 32 33 32 33 33 34 31 32 32 33 32 33 33 34 32 33 33 34 33 34 34 35 31 32 32 33 32 33 33 34 32 33 33 34 33 34 34 35 32 33 33 34 33 34 34 35 33 34 ...
output:
-1
result:
ok single line: '-1'
Test #12:
score: 0
Accepted
time: 3ms
memory: 3584kb
input:
1000 50 33 32 33 33 34 32 33 33 34 33 34 34 35 32 33 33 34 33 34 34 35 33 34 34 35 34 35 35 36 31 32 32 33 32 33 33 34 32 33 33 34 33 34 34 35 32 33 33 34 33 50 37 38 37 38 38 39 37 38 38 39 38 39 39 40 37 38 38 39 38 39 39 40 38 39 39 40 39 40 40 41 37 38 38 39 38 39 39 40 38 39 39 40 39 40 40 41 3...
output:
137438953379 4398046511042 4194171 17179869085 274877906782 68719476630 4294967236 8589926351 4398046510832 68719476666 549755813809 268435401 17179868920 549755813776 34359738255 68719476566 2147481576 134217675 4294967167 137438953390 268435399 2147483471 17179869093 68719476631 4294967184 8589934...
result:
ok 1000 lines
Test #13:
score: 0
Accepted
time: 0ms
memory: 3584kb
input:
1000 20 59 59 5 8 56 42 0 55 2 49 35 51 31 37 23 58 14 44 45 42 20 34 36 58 41 60 31 17 6 14 4 28 27 13 17 41 26 2 21 17 53 20 60 40 6 10 43 47 15 58 36 53 58 24 3 40 33 11 19 20 25 48 20 49 35 41 8 14 25 21 44 9 23 6 31 22 37 49 50 18 58 11 51 20 15 56 24 51 5 6 46 0 48 29 41 30 5 29 54 59 21 19 53...
output:
-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 ...
result:
ok 1000 lines
Test #14:
score: 0
Accepted
time: 5ms
memory: 3712kb
input:
1000 280 1 2 2 3 2 3 3 4 2 3 3 4 3 4 4 5 1 2 2 3 2 3 3 4 2 3 3 4 3 4 4 5 2 3 3 4 3 4 4 5 3 4 4 5 4 5 5 6 1 2 2 3 2 3 3 4 2 3 3 4 3 4 4 5 2 3 3 4 3 4 4 5 3 4 4 5 4 5 5 6 2 3 3 4 3 4 4 5 3 4 4 5 4 5 5 6 3 4 4 5 4 5 5 6 4 5 5 6 5 6 6 7 1 2 2 3 2 3 3 4 2 3 3 4 3 4 4 5 2 3 3 4 3 4 4 5 3 4 4 5 4 5 5 6 2 3...
output:
16 16 11 6 10 5 14 0 2 18 3 6 19 7 17 13 7 18 18 4 0 16 0 3 17 1 10 14 3 0 5 11 6 10 2 13 0 14 0 8 3 8 13 8 7 18 7 19 9 1 9 19 0 16 6 17 17 1 6 9 11 5 12 19 7 11 4 7 1 9 13 4 16 13 9 19 8 4 1 4 12 18 4 8 14 16 17 1 16 5 1 7 10 9 13 9 3 14 16 17 9 16 10 4 12 16 1 16 4 15 1 0 12 18 10 6 13 16 15 6 12 ...
result:
ok 1000 lines
Test #15:
score: -100
Runtime Error
input:
1000 2 32 48 2 32 49 2 32 50 2 32 51 2 32 52 2 32 53 2 32 54 2 32 55 2 32 56 2 32 57 2 32 58 2 32 59 2 32 60 2 33 0 2 33 1 2 33 2 2 33 3 2 33 4 2 33 5 2 33 6 2 33 7 2 33 8 2 33 9 2 33 10 2 33 11 2 33 12 2 33 13 2 33 14 2 33 15 2 33 16 2 33 17 2 33 18 2 33 19 2 33 20 2 33 21 2 33 22 2 33 23 2 33 24 2...