CSES - IZhO 2017, day 2 - Results
Submission details
Task:Simple game
Sender:Katajisto
Submission time:2019-02-10 13:38:39 +0200
Language:C++
Status:READY
Result:49
Feedback
groupverdictscore
#1ACCEPTED22
#2ACCEPTED27
#30
Test results
testverdicttimegroup
#1ACCEPTED0.02 s1, 3details
#2ACCEPTED0.03 s1, 3details
#3ACCEPTED0.02 s1, 3details
#4ACCEPTED0.03 s1, 3details
#5ACCEPTED0.03 s1, 3details
#6ACCEPTED0.03 s1, 3details
#7ACCEPTED0.02 s1, 2, 3details
#8ACCEPTED0.11 s2, 3details
#9ACCEPTED0.21 s2, 3details
#10ACCEPTED0.19 s2, 3details
#11ACCEPTED0.10 s2, 3details
#12ACCEPTED0.16 s2, 3details
#130.19 s3details
#140.18 s3details
#150.19 s3details
#160.18 s3details
#170.18 s3details
#18ACCEPTED0.17 s2, 3details

Compiler report

input/code.cpp: In function 'int main()':
input/code.cpp:45:10: warning: unused variable 'cc' [-Wunused-variable]
     long cc = 0;
          ^~

Code

#include<bits/stdc++.h>
using namespace std;

int main() {
  int n,m; cin >> n >> m;
  int vtz[n];
  for(int i = 0; i < n; i++) {
    cin >> vtz[i];
  }
  if(n <= 1000) {
    //Do eppa processing <- not needed for first subtask.
    for(int i = 0; i < m; i++) {
      //Handle operations.
      int opnum; cin >> opnum;
      if(opnum == 1) {
	int opid; cin >> opid;
	int nh; cin >> nh;
	vtz[opid-1]=nh;
      }
      else {
	int h; cin >> h;
	int l = vtz[0];
	int cc = 0;
	for(int i = 1; i < n; i++) {
	  //cout << "CUR: " << vtz[i] << " LST: " << l << "\n";
	  if((vtz[i]>h && l<h)||(vtz[i]<h&&l>h)) cc++;
	  l = vtz[i];
	}
	cout << cc << "\n";
      }
    }
  }
  else {
    int tt[101010];
    for(int i = 0; i < 101010; i++) tt[i] = 0;
    vector<int> p;
    unordered_map<int,long> ppp;
    for(int i = 0; i < m; i++) {
      int a,b; cin >> a >> b;
      p.push_back(b);
    }
    auto pc = p;
    sort(p.begin(),p.end());
    int l = vtz[0];
    long cc = 0;
    for(int i = 1; i < n; i++) {
      auto it1 = lower_bound(p.begin(),p.end(),vtz[i]);
      auto it2 = upper_bound(p.begin(),p.end(),l);
      int a = (it1-p.begin());
      int b = (it2-p.begin());
      if(a > b) swap(a,b);
      tt[a]++;
      tt[b]--;
      l = vtz[i];
    }
    /*for(int i =0 ; i < m; i++) {
      cout << tt[i] << " ";
    }
    cout << "\n";*/
    int mm = 0;
    for(int i = 0; i < n; i++) {
      mm += tt[i];
      ppp[p[i]] = mm;
    }
    for(auto u : pc) {
      cout << ppp[u] << "\n";
    }
  }
}

Test details

Test 1

Group: 1, 3

Verdict: ACCEPTED

input
3 3
1 5 1
2 3
1 1 5
2 3

correct output
2
1

user output
2
1

Test 2

Group: 1, 3

Verdict: ACCEPTED

input
1000 1000
403944 539844 451514 488113 69...

correct output
444
462
34
516
288
...

user output
444
462
34
516
288
...

Test 3

Group: 1, 3

Verdict: ACCEPTED

input
1000 1000
487368 55984 456259 117591 818...

correct output
440
400
480
130
38
...

user output
440
400
480
130
38
...

Test 4

Group: 1, 3

Verdict: ACCEPTED

input
1000 1000
570792 604828 236813 971260 13...

correct output
386
460
50
470
126
...

user output
386
460
50
470
126
...

Test 5

Group: 1, 3

Verdict: ACCEPTED

input
1000 1000
686920 120969 241559 600738 48...

correct output
330
306
418
290
136
...

user output
330
306
418
290
136
...

Test 6

Group: 1, 3

Verdict: ACCEPTED

input
1000 1000
737640 478325 54816 262919 609...

correct output
230
418
148
338
4
...

user output
230
418
148
338
4
...

Test 7

Group: 1, 2, 3

Verdict: ACCEPTED

input
1000 1000
1 1000000 1 1000000 1 1000000 ...

correct output
999
999
999
999
999
...

user output
999
999
999
999
999
...

Test 8

Group: 2, 3

Verdict: ACCEPTED

input
100000 100000
18 15 8 5 7 19 19 11 11 8 6 15...

correct output
0
0
0
0
0
...

user output
0
0
0
0
0
...

Test 9

Group: 2, 3

Verdict: ACCEPTED

input
100000 100000
611680 625326 848926 304761 34...

correct output
30636
30745
50130
4464
9086
...

user output
30636
30745
50130
4464
9086
...

Test 10

Group: 2, 3

Verdict: ACCEPTED

input
100000 100000
695104 174171 853672 901534 35...

correct output
31870
39772
30788
11144
42732
...

user output
31870
39772
30788
11144
42732
...

Test 11

Group: 2, 3

Verdict: ACCEPTED

input
100000 100000
1 1 1 2 1 1 2 1 2 2 1 2 2 1 1 ...

correct output
0
0
0
0
0
...

user output
0
0
0
0
0
...

Test 12

Group: 2, 3

Verdict: ACCEPTED

input
100000 100000
2845 22894 4105 11830 29440 21...

correct output
45066
50090
24109
27778
294
...

user output
45066
50090
24109
27778
294
...

Test 13

Group: 3

Verdict:

input
100000 100000
123269 247698 241557 639404 38...

correct output
37412
1520
46224
964
50058
...

user output
37412
7046
0
0
12836
...

Test 14

Group: 3

Verdict:

input
100000 100000
206693 572351 22110 493074 737...

correct output
33086
49042
43971
17756
41889
...

user output
33086
13842
0
0
46874
...

Test 15

Group: 3

Verdict:

input
100000 100000
322821 121195 59560 155256 829...

correct output
28252
45031
28212
6208
31642
...

user output
28252
8624
0
0
32432
...

Test 16

Group: 3

Verdict:

input
100000 100000
438949 637336 872818 784733 17...

correct output
45374
22320
9690
5630
40012
...

user output
45374
15320
0
0
49641
...

Test 17

Group: 3

Verdict:

input
100000 100000
489669 186180 653371 446915 52...

correct output
43104
43128
41430
35554
996
...

user output
43104
10352
0
0
21546
...

Test 18

Group: 2, 3

Verdict: ACCEPTED

input
100000 100000
1 1000000 1 1000000 1 1000000 ...

correct output
99999
99999
99999
99999
99999
...

user output
99999
99999
99999
99999
99999
...