Submission details
Task:Candies
Sender:z
Submission time:2016-10-04 17:34:56 +0300
Language:C++
Status:READY
Result:
Test results
testverdicttime
#1ACCEPTED0.15 sdetails
#2ACCEPTED0.19 sdetails
#30.08 sdetails
#40.16 sdetails
#50.14 sdetails
#6ACCEPTED0.10 sdetails
#70.16 sdetails
#80.12 sdetails
#9ACCEPTED0.09 sdetails
#100.15 sdetails
#110.12 sdetails
#12ACCEPTED0.12 sdetails
#130.10 sdetails
#140.14 sdetails
#15ACCEPTED0.12 sdetails
#160.12 sdetails
#170.17 sdetails
#180.10 sdetails
#19ACCEPTED0.16 sdetails
#200.12 sdetails
#21ACCEPTED0.06 sdetails
#22ACCEPTED0.19 sdetails
#23ACCEPTED0.12 sdetails
#240.04 sdetails
#25ACCEPTED0.16 sdetails
#26ACCEPTED0.13 sdetails
#27ACCEPTED0.12 sdetails
#280.10 sdetails
#29ACCEPTED0.14 sdetails
#300.13 sdetails
#310.13 sdetails
#32ACCEPTED0.17 sdetails
#330.11 sdetails
#340.14 sdetails
#350.14 sdetails
#360.09 sdetails
#37ACCEPTED0.18 sdetails
#380.11 sdetails
#39ACCEPTED0.11 sdetails
#400.17 sdetails
#41ACCEPTED0.15 sdetails
#420.13 sdetails
#43ACCEPTED0.12 sdetails
#440.15 sdetails
#450.09 sdetails
#46ACCEPTED0.17 sdetails
#470.15 sdetails
#480.07 sdetails
#49ACCEPTED0.14 sdetails
#50ACCEPTED0.17 sdetails

Code

#include <iostream>
#define SZ (1<<18)
using namespace std;
int n;


int sp[SZ];

void st(int t){t+=SZ/2;
  sp[t]=1;
  for (t/=2; t; t/=2) sp[t]=sp[2*t]+sp[2*t+1];
}

int gt(int a, int b){if (a<0) a=0; a+=SZ/2; b+=SZ/2;
  int rv=0;
  while (a<b){
    if (a%2==1) rv+=sp[a++];
    if (b%2==0) rv+=sp[b--];
    a/=2; b/=2;
  }if (a==b) rv+=sp[a];
  return rv;
}



int c[101010];
int a[101010];

int main(){
  cin >> n;
  st(0);
  for (int i=1; i<n; ++i){
    cin >> c[i] >> a[i];
    if (gt(i-c[i], i-1)==0){
      st(c[i]);
    }
  }
  long long c=0;
  long long o=0;
  for (int i=1; i<n; ++i){
    if (gt(i, i)){
      c+=a[i];
    }else{
      o+=a[i];
    }
  }
  if (c&1){
    cout << "Uolevi\n";
  }else{
    cout << "Maija\n";
  }  
}

Test details

Test 1

Verdict: ACCEPTED

input
100000
1 711030833
1 158410717
1 195880715
4 100754063
...

correct output
Maija

user output
Maija

Test 2

Verdict: ACCEPTED

input
100000
1 141127416
2 695516632
3 615951895
3 443681796
...

correct output
Uolevi

user output
Uolevi

Test 3

Verdict:

input
45080
1 42104521
1 369191208
1 161268234
1 773766135
...

correct output
Maija

user output
Uolevi

Test 4

Verdict:

input
100000
1 425927408
2 112352371
3 349953556
4 317449623
...

correct output
Uolevi

user output
Maija

Test 5

Verdict:

input
100000
1 976242853
1 918138403
3 593259347
1 118425900
...

correct output
Maija

user output
Uolevi

Test 6

Verdict: ACCEPTED

input
66235
1 714846721
2 782519351
1 495258879
4 647861938
...

correct output
Uolevi

user output
Uolevi

Test 7

Verdict:

input
100000
1 182389600
2 839981260
3 863617552
3 244297947
...

correct output
Maija

user output
Uolevi

Test 8

Verdict:

input
100000
1 751804396
1 30036266
1 160687737
1 636515958
...

correct output
Uolevi

user output
Maija

Test 9

Verdict: ACCEPTED

input
48059
1 251354709
2 441685191
3 614000505
4 635398903
...

correct output
Maija

user output
Maija

Test 10

Verdict:

input
100000
1 843242894
1 957770504
1 973068449
3 361322846
...

correct output
Uolevi

user output
Maija

Test 11

Verdict:

input
100000
1 25035727
2 709341255
1 217039428
1 523961539
...

correct output
Maija

user output
Uolevi

Test 12

Verdict: ACCEPTED

input
52239
1 898555127
2 401886094
3 50045256
3 50802078
...

correct output
Uolevi

user output
Uolevi

Test 13

Verdict:

input
100000
1 805840257
1 619342264
1 316538943
1 404591509
...

correct output
Maija

user output
Uolevi

Test 14

Verdict:

input
100000
1 85952165
2 889573894
3 949716175
4 658340192
...

correct output
Uolevi

user output
Maija

Test 15

Verdict: ACCEPTED

input
58210
1 630140027
2 609803764
2 286348939
1 385133653
...

correct output
Maija

user output
Maija

Test 16

Verdict:

input
100000
1 662570305
2 280000554
1 307365334
4 44881371
...

correct output
Uolevi

user output
Maija

Test 17

Verdict:

input
100000
1 949369759
2 702077178
3 12210334
3 697139542
...

correct output
Maija

user output
Uolevi

Test 18

Verdict:

input
60176
1 121275639
1 528220690
1 971817319
1 429906664
...

correct output
Maija

user output
Uolevi

Test 19

Verdict: ACCEPTED

input
100000
1 499152193
2 640940036
3 485724072
4 215611647
...

correct output
Maija

user output
Maija

Test 20

Verdict:

input
100000
1 602560126
1 570231098
3 965317809
1 775409773
...

correct output
Uolevi

user output
Maija

Test 21

Verdict: ACCEPTED

input
36777
1 92359075
1 348010544
1 286510670
3 360288525
...

correct output
Maija

user output
Maija

Test 22

Verdict: ACCEPTED

input
100000
1 672776091
2 482798585
3 42029315
2 26550576
...

correct output
Uolevi

user output
Uolevi

Test 23

Verdict: ACCEPTED

input
100000
1 766248152
1 48661246
1 53616931
1 881577689
...

correct output
Maija

user output
Maija

Test 24

Verdict:

input
2678
1 643102897
2 44332582
3 325467347
4 330392154
...

correct output
Uolevi

user output
Maija

Test 25

Verdict: ACCEPTED

input
100000
1 246293113
1 537306436
3 432033659
1 156200178
...

correct output
Maija

user output
Maija

Test 26

Verdict: ACCEPTED

input
100000
1 25024283
2 870696772
2 667131860
3 201131650
...

correct output
Uolevi

user output
Uolevi

Test 27

Verdict: ACCEPTED

input
60233
1 188780511
2 75227563
3 530947518
2 542656908
...

correct output
Maija

user output
Maija

Test 28

Verdict:

input
100000
1 914290259
1 262392925
1 476802115
1 246836786
...

correct output
Maija

user output
Uolevi

Test 29

Verdict: ACCEPTED

input
100000
1 63753899
2 153025130
3 54399457
4 501770965
...

correct output
Maija

user output
Maija

Test 30

Verdict:

input
81077
1 857973576
1 299185809
3 643567951
3 644588609
...

correct output
Uolevi

user output
Maija

Test 31

Verdict:

input
100000
1 46381087
2 405542984
2 754649679
2 243748118
...

correct output
Maija

user output
Uolevi

Test 32

Verdict: ACCEPTED

input
100000
1 8524044
2 250325988
3 233717491
4 146259553
...

correct output
Uolevi

user output
Uolevi

Test 33

Verdict:

input
65786
1 560791425
1 261322044
1 682292676
1 147237267
...

correct output
Maija

user output
Uolevi

Test 34

Verdict:

input
100000
1 125136975
2 371542490
3 292584893
4 508131349
...

correct output
Uolevi

user output
Maija

Test 35

Verdict:

input
100000
1 262366910
1 369548911
1 325050617
4 556299574
...

correct output
Maija

user output
Uolevi

Test 36

Verdict:

input
60775
1 507271956
1 409573652
1 840526223
4 40458485
...

correct output
Uolevi

user output
Maija

Test 37

Verdict: ACCEPTED

input
100000
1 170227273
2 887420590
3 110278308
4 424128868
...

correct output
Maija

user output
Maija

Test 38

Verdict:

input
100000
1 347223859
1 68738933
1 985733634
1 615327705
...

correct output
Maija

user output
Uolevi

Test 39

Verdict: ACCEPTED

input
78620
1 885732444
2 18370404
3 72375756
4 195787843
...

correct output
Maija

user output
Maija

Test 40

Verdict:

input
100000
1 474891424
2 57347605
2 834659373
1 502657757
...

correct output
Uolevi

user output
Maija

Test 41

Verdict: ACCEPTED

input
100000
1 254347008
2 188605107
2 122864690
2 779529609
...

correct output
Maija

user output
Maija

Test 42

Verdict:

input
98637
1 713950119
2 292592465
3 742305618
4 224574586
...

correct output
Uolevi

user output
Maija

Test 43

Verdict: ACCEPTED

input
100000
1 723451794
1 110766617
1 248656680
1 630191826
...

correct output
Maija

user output
Maija

Test 44

Verdict:

input
100000
1 492163054
2 587319277
3 10975797
4 339544232
...

correct output
Uolevi

user output
Maija

Test 45

Verdict:

input
52547
1 232526175
1 887827884
2 916568911
4 492193186
...

correct output
Maija

user output
Uolevi

Test 46

Verdict: ACCEPTED

input
100000
1 468220361
1 790918472
1 187645705
3 994668293
...

correct output
Uolevi

user output
Uolevi

Test 47

Verdict:

input
100000
1 933368172
2 331272321
3 655819801
4 516188128
...

correct output
Maija

user output
Uolevi

Test 48

Verdict:

input
67912
1 216008505
1 643452738
1 668711462
1 817790739
...

correct output
Maija

user output
Uolevi

Test 49

Verdict: ACCEPTED

input
100000
1 567702093
2 435764710
3 950439950
4 846429130
...

correct output
Maija

user output
Maija

Test 50

Verdict: ACCEPTED

input
100000
1 69758167
2 717447386
3 215709704
2 432875573
...

correct output
Uolevi

user output
Uolevi