QOJ.ac

QOJ

ID题目提交者结果用时内存语言文件大小提交时间测评时间
#137711#6343. Bitaro's travelkonstantys#0 151ms15808kbC++142.7kb2023-08-10 16:57:022024-07-04 01:30:00

Judging History

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

  • [2024-07-04 01:30:00]
  • 评测
  • 测评结果:0
  • 用时:151ms
  • 内存:15808kb
  • [2023-08-10 23:21:45]
  • System Update: QOJ starts to keep a history of the judgings of all the submissions.
  • [2023-08-10 16:57:02]
  • 提交

answer

#include<iostream>
#include<cstdlib>
#include<cstdio>
#define l 524288
using namespace std;
int n,q,tab[200005],a,t[200005][2];
int dp[2*l+5][2];
int pierwszylewo(int a,int x){ //szukamy pierwszego >=x
    a^=l;
    while(true){
        if(a&1){
            if(dp[a^1][0]>=x){
                a^=1;
                break;
            }
        }
        a>>=1;
        if(a==1) return 1;
    }
    //cerr<<"A ";
    while(true){
        if(a&l) return (a^l)+1;
        a<<=1;
        if(dp[a^1][0]>=x) a^=1;
    }
    //cerr<<"B\n";
}
int pierwszyprawo(int a,int x){ //szukamy pierwszego <=x
    if(a!=1){
        a-=2;
        a^=l;
        while(true){
            if(!(a&1)){
                if(dp[a^1][1]<=x){
                    a^=1;
                    break;
                }
            }
            a>>=1;
            if(a==1) return n;
        }
    }else{
        if(dp[1][1]>x) return n;
    }
    while(true){
        a<<=1;
        if(dp[a][1]>x) a^=1;
        if(a&l) return (a^l)+1;
    }

}
long long wyn[200005];
int main(){
    ios_base::sync_with_stdio(0);
    cin>>n;
    for(int i=1;i<=n;i++){
        cin>>tab[i];
    }
    tab[0]=-1000000001;
    tab[n+1]=2000000001;
    t[1][0]=n;
    t[n][1]=1;
    dp[1+l-1][0]=t[1][0];
    dp[n+l-1][1]=t[n][1];
    for(int i=2;i<=n;i++){
        t[i][0]=i;
        while(tab[t[i][0]+1]-tab[i]<tab[i]-tab[i-1]) t[i][0]++;
        dp[i+l-1][0]=t[i][0];
    }
    for(int i=n-1;i>=1;i--){
        t[i][1]=i;
        while(tab[i]-tab[t[i][1]-1]<=tab[i+1]-tab[i]) t[i][1]--;
        dp[i+l-1][1]=t[i][1];
    }
    for(int i=n+1;i<=l;i++) dp[i+l-1][1]=1000000;
    for(int i=l-1;i>=1;i--){
        dp[i][0]=max(dp[i<<1][0],dp[(i<<1)^1][0]);
        dp[i][1]=min(dp[i<<1][1],dp[(i<<1)^1][1]);
    }
    for(int i=1;i<=n;i++){
        int p=i,k=i,s;
        wyn[i]=0;
        while(true){
            s=pierwszylewo(p,k+1);
            wyn[i]+=tab[p]-tab[s];
            if(k==n)
                break;
            k++;
            p=s;
            wyn[i]+=tab[k]-tab[s];

            s=pierwszyprawo(k,p-1);
            wyn[i]+=tab[s]-tab[k];
            if(p==1)
                break;
            p--;
            k=s;
            wyn[i]+=tab[s]-tab[p];
        }
        //cerr<<wyn[i]<<" ";
    }
    cin>>q;
    for(int i=0;i<q;i++){
        cin>>a;
        //a-=off;
        int p=1,k=n,s,y=n+1;
        while(k>=p){
            s=(p+k)>>1;
            if(tab[s]>=a){
                k=s-1;
                y=s;
            }else p=s+1;
        }
        if(tab[y]-a<a-tab[y-1]){
            cout<<wyn[y]+tab[y]-a<<"\n";
        }else cout<<wyn[y-1]+a-tab[y-1]<<"\n";
    }
    return 0;
}

詳細信息

Subtask #1:

score: 0
Runtime Error

Test #1:

score: 0
Runtime Error

input:

2000
154914587 154914588 154914591 154914592 154914594 154914596 154914598 154914599 154914601 154914603 154914608 154914610 154914612 154914615 154914618 154914619 154914621 154914622 154914626 154914627 154914631 154914633 154914636 154914638 154914640 154914641 154914642 154914644 154914645 15491...

output:


result:


Subtask #2:

score: 0
Skipped

Dependency #1:

0%

Subtask #3:

score: 0
Runtime Error

Test #31:

score: 30
Accepted
time: 135ms
memory: 15712kb

input:

200000
9 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181...

output:

200107
999999991
202154
346046
379455
269768
313076
381369
366120
265794
363817
348433
342292
260613
302587
332141
311760
281789
345769
366459
218270
221124
225466
313243
322095
332977
281351
224651
257342
259560
206246
231269
316285
371811
394056
382486
202443
357928
359464
357158
354417
368006
326...

result:

ok 200000 numbers

Test #32:

score: 0
Accepted
time: 116ms
memory: 15800kb

input:

200000
9 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181...

output:

200107
999999991
214953
203176
263561
315480
345760
288169
362438
292732
224749
214412
299705
264321
211653
248956
233685
236984
306911
206078
236282
203851
343753
216241
366274
383291
227991
214501
208691
248280
282497
201835
302961
384269
339680
249381
395777
201468
253356
249808
316046
217202
336...

result:

ok 200000 numbers

Test #33:

score: 0
Accepted
time: 124ms
memory: 15808kb

input:

200000
0 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172...

output:

200098
1000000000
200809
332026
340583
320747
327951
280466
335577
392195
262246
384764
279889
296343
206119
282306
382710
389025
369823
307624
382688
379733
319319
266016
316382
273064
390368
312448
210119
335070
205821
256717
233293
235566
200495
327143
380534
281176
293482
211483
317727
234273
21...

result:

ok 200000 numbers

Test #34:

score: 0
Accepted
time: 126ms
memory: 15804kb

input:

200000
9 109 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182...

output:

200108
999999991
398935
342885
372407
268595
300075
371409
353777
253452
348389
342780
337158
251989
290087
326120
302345
280025
337667
354788
207572
219029
219537
312936
309352
322171
278794
215577
238037
256322
203016
217393
307132
363991
389419
367602
395084
350195
342074
354917
333585
353297
307...

result:

ok 200000 numbers

Test #35:

score: 0
Accepted
time: 151ms
memory: 15740kb

input:

200000
9 109 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182...

output:

200108
999999991
399468
396515
254881
299064
337551
286690
358899
284471
214726
211350
282076
246510
393082
233179
230206
229157
287918
388371
216198
398026
326810
396152
352980
362859
207997
211382
207339
245208
279636
387108
287348
370846
326052
238182
377891
390157
238807
236535
303642
200314
331...

result:

ok 200000 numbers

Test #36:

score: 0
Accepted
time: 140ms
memory: 15740kb

input:

200000
0 100 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173...

output:

200099
1000000000
400101
324295
330652
307228
323659
266967
326296
376082
254255
366054
279702
288698
394108
278540
364606
386882
367087
297310
377645
367863
306592
251530
299280
261817
381250
300696
395926
325927
202038
238905
217436
228164
390510
326430
365953
266838
281214
396382
308060
213534
39...

result:

ok 200000 numbers

Test #37:

score: 0
Accepted
time: 51ms
memory: 14176kb

input:

1
752274513
200000
0
1000000000
3062543
353824670
471209108
300038685
972824952
279683767
647873489
455102926
383075404
304797585
248935750
197299138
525182332
495865149
664082073
708206991
86351822
501205423
604244437
984963897
681547274
314559829
730183804
245318283
760613011
309037613
514660147
8...

output:

752274513
247725487
749211970
398449843
281065405
452235828
220550439
472590746
104401024
297171587
369199109
447476928
503338763
554975375
227092181
256409364
88192440
44067522
665922691
251069090
148030076
232689384
70727239
437714684
22090709
506956230
8338498
443236900
237614366
115943118
686592...

result:

ok 200000 numbers

Test #38:

score: 0
Accepted
time: 51ms
memory: 13860kb

input:

1
73
200000
0
1000000000
10
72
125
39
37
127
54
106
35
45
65
95
80
77
45
50
6
54
43
102
2
97
92
59
65
15
16
6
97
31
15
102
110
95
68
0
72
36
101
143
94
97
142
19
15
70
145
22
41
7
35
51
78
141
13
4
143
49
34
37
134
132
14
24
111
19
1
31
113
96
106
34
74
74
27
31
37
96
84
62
47
34
33
133
15
78
120
72...

output:

73
999999927
63
1
52
34
36
54
19
33
38
28
8
22
7
4
28
23
67
19
30
29
71
24
19
14
8
58
57
67
24
42
58
29
37
22
5
73
1
37
28
70
21
24
69
54
58
3
72
51
32
66
38
22
5
68
60
69
70
24
39
36
61
59
59
49
38
54
72
42
40
23
33
39
1
1
46
42
36
23
11
11
26
39
40
60
58
5
47
1
38
7
14
51
73
46
61
8
45
59
33
51
70...

result:

ok 200000 numbers

Test #39:

score: -30
Runtime Error

input:

200000
67 98 181 270 354 429 496 561 572 671 696 787 856 935 1022 1065 1091 1129 1188 1256 1296 1316 1386 1388 1462 1495 1513 1563 1621 1665 1760 1790 1812 1855 1918 1971 1990 2087 2137 2234 2313 2329 2423 2501 2585 2642 2695 2795 2893 2990 3085 3095 3185 3279 3315 3327 3377 3454 3493 3553 3617 3662...

output:


result:


Subtask #4:

score: 0
Skipped

Dependency #1:

0%