ამ გვერდზე თქვენ იხილავთ გაგზავნილი ამოხსნების სტატუსს.
გაგზავნის თარიღი: 30.01.2019 20:53:34
ამოცანა: სვეტები
მომხმარებელი: SuperGeorgian
ვერდიქტი: სრული ამოხსნა
შეფასება: 100.0 ქულა
#include<bits/stdc++.h> using namespace std; long long a,b,c,d,e,f[500009],p[500009],pi,pas,fen[500009],jm; map <long long, long long> m; map <long long, long long>::iterator it; void update(int q){ while(q<=500002){ fen[q]++; q=q+(q&(-q)); } } void update2(int q){ while(q<=500002){ fen[q]--; q=q+(q&(-q)); } } void read(int q){ while(q>0){ jm+=fen[q]; q=q-(q&(-q)); } } int main(){ ios_base::sync_with_stdio(false),cin.tie(0),cout.tie(0); cin>>a; for(c=1; c<=a; c++) cin>>f[c]; for(c=1; c<=a; c++) m[f[c]]=1; c=1; d=0; for(it=m.begin(); it!=m.end(); it++){ m[(*it).first]=c; if(d!=(*it).second) c++; } for(c=1; c<=a; c++) f[c]=m[f[c]]; for(c=1; c<=a; c++){ if(pi!=0){ if(p[1]<=f[c]){ pas+=pi; }else{ jm=0; read(f[c]); pas=pas+jm+1; } } while(pi>0){ if(p[pi]>=f[c]) break; update2(p[pi]); pi--; } pi++; p[pi]=f[c]; update(f[c]); } cout<<pas; return 0; }
125 50 21 18 29 48 87 101 26 39 67 97 86 7 89 99 64 19 6 119 12 111 113 92 16 123 94 84 1 82 117 122 54 30 96 40 105 70 53 4 60 128 108 3 65 56 114 24 80 78 35 44 51 77 107 36 57 100 47 22 109 79...
236
236
YES
500000 1852511198 1971827923 2127823496 2072622175 132513176 1971827923 2072622175 2010913168 1971827923 2127823496 806021207 132513176 2127823496 806021207 1852511198 1687159457 1971827923 2010913168 1146356553 2127823496 132513176 2...
1257975156
1257975156
YES
976 994 649 340 511 726 157 97 893 243 336 959 76 518 291 775 622 66 432 237 406 300 945 507 101 177 283 647 847 962 773 459 336 586 965 96 818 109 253 199 446 643 653 494 561 812 342 157 997 853 647 390 ...
1947
1947
YES
8565 6752 1037 1293 2778 2147 5128 7060 944 7554 4012 3367 6650 3745 324 4680 1745 5363 3874 5135 5874 548 3144 492 3630 2148 7632 192 1822 510 416 4897 4973 4534 7402 5014 2279 7225 4830 3789 2275 6636 1555 2624 ...
17144
17144
YES
198595 21 24 5 29 15 15 15 2 10 10 27 19 25 5 25 5 18 2 14 26 30 27 27 30 21 29 7 21 21 21 13 9 25 26 18 7 18 10 1 24 29 21 18 15 15 14 13 13 27 25 26 2 2 9 2 24 1 21 24 1 30 24 26 27 30 29 ...
54987598
54987598
YES
249318 63 59 80 37 99 39 95 62 73 92 80 59 62 56 59 39 63 95 99 80 95 63 62 95 82 62 3 12 39 80 37 23 3 99 95 92 73 99 63 92 73 82 56 82 3 62 73 73 37 12 37 95 92 39 12 3 3 63 56 59 63 56 37 3...
120202420
120202420
YES
312350 543241 383739 449489 850807 815904 383739 953756 516857 449489 516857 247588 327454 720343 327720 724958 953756 545861 327454 724958 543241 829370 545861 829370 945770 543241 850807 953756 543241 945770 750530 487701 ...
121682125
121682125
YES
341335 2117387428 2117387428 1180859502 1702919954 2117387428 1702919954 2117387428 1702919954 1180859502 1180859502 2117387428 1180859502 2117387428 1702919954 1180859502 1180859502 1180859502 2117387428 1702919954 1180859502 17029199...
6455891153
6455891153
YES
409481 380277278 380277278 380277278 380277278 380277278 380277278 380277278 380277278 380277278 380277278 380277278 380277278 380277278 380277278 380277278 380277278 380277278 380277278 380277278 380277278 380277278 380277278 380277...
83837139940
83837139940
YES
488717 1103420966 1103420966 1827538874 1118607734 1873828409 1928318700 1727239838 1405815429 1827538874 1927470215 1030060458 1873828409 1927470215 1977628058 1977628058 1103420966 1727239838 1928318700 1727239838 1103420966 19274702...
603706929
603706929
YES