CSES - E4590 2016 5 - Results
Submission details
Task:Clocks
Sender:omantere
Submission time:2016-10-15 15:53:33 +0300
Language:C++
Status:READY
Result:
Test results
testverdicttime
#1ACCEPTED0.04 sdetails
#2ACCEPTED0.04 sdetails
#30.03 sdetails
#4ACCEPTED0.04 sdetails
#50.05 sdetails
#6ACCEPTED0.04 sdetails
#7ACCEPTED0.04 sdetails
#80.04 sdetails
#90.05 sdetails
#100.05 sdetails
#110.04 sdetails
#12ACCEPTED0.05 sdetails
#13ACCEPTED0.07 sdetails
#140.06 sdetails
#15ACCEPTED0.03 sdetails
#16ACCEPTED0.08 sdetails
#17ACCEPTED0.04 sdetails
#180.04 sdetails
#190.04 sdetails
#200.07 sdetails
#21ACCEPTED0.04 sdetails
#220.05 sdetails
#23ACCEPTED0.05 sdetails
#24ACCEPTED0.07 sdetails
#25ACCEPTED0.03 sdetails
#260.06 sdetails
#27ACCEPTED0.07 sdetails
#28ACCEPTED0.05 sdetails
#290.05 sdetails
#30ACCEPTED0.04 sdetails

Code

#include <bits/stdc++.h>

#define _ ios_base::sync_with_stdio(0);cin.tie();
#define ll long long
#define vi vector<int>
#define pb push_back
#define pii pair<int, int>
#define vpii vector<pii>
#define vvi vector< vector<int> >
#define si set<int>
#define mi map<string, int>

using namespace std;

vi v;
vi dir;
vi fin;

void turns(int x, int times) {
    for(int i = 0; i < times; i++) {
        if(x > 1)
            turns(x - 1, v[x-2]);
        if(i < times - 1) {
            cout << x << " " << dir[x-1] << "\n";
        }
    }
    if(times > 1) 
        dir[x-1] = -dir[x-1];
}

int main() { _
    int n;    
    cin >> n;
    v.assign(n, 0);
    dir.assign(n, 1);
    fin.assign(n, 0);
    for(int i = 0; i < n; i++) {
        int x;
        cin >> x;
        v[i] = x;
    }
    int last = 1;
    for(int i = n-1; i >= 0; i--) {
        if(v[i] > 1) 
            fin[i] = last % 2;
        last *= v[i];
    }
    turns(v.size(), v[v.size()-1]);
    for(int i = 0; i < n; i++) {
        if(fin[i] == 1) {
            cout << i + 1 << " " << "1" << endl;
        }
    }

    return 0;
}

Test details

Test 1

Verdict: ACCEPTED

input
1
100000

correct output
1 1
1 1
1 1
1 1
1 1
...

user output
1 1
1 1
1 1
1 1
1 1
...

Test 2

Verdict: ACCEPTED

input
2
2 2

correct output
2 1
1 1
2 -1
1 1

user output
1 1
2 1
1 -1
2 1

Test 3

Verdict:

input
2
2 3

correct output
2 1
2 1
1 1
2 -1
2 -1
...

user output
1 1
2 1
1 -1
2 1
1 1
...

Test 4

Verdict: ACCEPTED

input
2
3 2

correct output
1 1
1 1
2 1
1 -1
1 -1
...

user output
1 1
1 1
2 1
1 -1
1 -1
...

Test 5

Verdict:

input
6
2 4 6 7 30 9

correct output
6 1
6 1
6 1
6 1
6 1
...

user output
1 1
2 1
1 -1
2 1
1 1
...

Test 6

Verdict: ACCEPTED

input
3
100 100 1

correct output
2 1
2 1
2 1
2 1
2 1
...

user output
1 1
1 1
1 1
1 1
1 1
...

Test 7

Verdict: ACCEPTED

input
16
2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 ...

correct output
16 1
15 1
16 -1
14 1
16 1
...

user output
1 1
2 1
1 -1
3 1
1 1
...

Test 8

Verdict:

input
2
3 3

correct output
1 1
1 1
2 1
2 1
1 -1
...

user output
1 1
1 1
2 1
1 -1
1 -1
...

Test 9

Verdict:

input
5
10 11 12 13 5

correct output
5 1
5 1
5 1
5 1
4 1
...

user output
1 1
1 1
1 1
1 1
1 1
...

Test 10

Verdict:

input
10
3 3 3 3 3 3 3 3 3 3

correct output
1 1
1 1
2 1
2 1
1 -1
...

user output
1 1
1 1
2 1
1 -1
1 -1
...

Test 11

Verdict:

input
4
2 3 84 51 

correct output
4 1
4 1
4 1
4 1
4 1
...

user output
1 1
2 1
1 -1
2 1
1 1
...

Test 12

Verdict: ACCEPTED

input
4
508 6 3 2 

correct output
4 1
3 1
4 -1
3 1
4 1
...

user output
1 1
1 1
1 1
1 1
1 1
...

Test 13

Verdict: ACCEPTED

input
6
2 70 78 2 2 2 

correct output
6 1
5 1
6 -1
4 1
6 1
...

user output
1 1
2 1
1 -1
2 1
1 1
...

Test 14

Verdict:

input
9
3 3 2 6 3 3 4 3 7 

correct output
9 1
9 1
9 1
9 1
9 1
...

user output
1 1
1 1
2 1
1 -1
1 -1
...

Test 15

Verdict: ACCEPTED

input
2
5 5994 

correct output
1 1
1 1
1 1
1 1
2 1
...

user output
1 1
1 1
1 1
1 1
2 1
...

Test 16

Verdict: ACCEPTED

input
1
90921 

correct output
1 1
1 1
1 1
1 1
1 1
...

user output
1 1
1 1
1 1
1 1
1 1
...

Test 17

Verdict: ACCEPTED

input
1
16690 

correct output
1 1
1 1
1 1
1 1
1 1
...

user output
1 1
1 1
1 1
1 1
1 1
...

Test 18

Verdict:

input
4
2 2 3 2453 

correct output
4 1
4 1
4 1
4 1
4 1
...

user output
1 1
2 1
1 -1
3 1
1 1
...

Test 19

Verdict:

input
4
2 930 2 17 

correct output
4 1
4 1
4 1
4 1
4 1
...

user output
1 1
2 1
1 -1
2 1
1 1
...

Test 20

Verdict:

input
5
2 116 3 36 3 

correct output
5 1
5 1
4 1
5 -1
5 -1
...

user output
1 1
2 1
1 -1
2 1
1 1
...

Test 21

Verdict: ACCEPTED

input
2
2 3816 

correct output
2 1
2 1
2 1
2 1
2 1
...

user output
1 1
2 1
1 -1
2 1
1 1
...

Test 22

Verdict:

input
6
10 3 28 6 3 3 

correct output
6 1
6 1
5 1
6 -1
6 -1
...

user output
1 1
1 1
1 1
1 1
1 1
...

Test 23

Verdict: ACCEPTED

input
1
25231 

correct output
1 1
1 1
1 1
1 1
1 1
...

user output
1 1
1 1
1 1
1 1
1 1
...

Test 24

Verdict: ACCEPTED

input
4
13 96 32 2 

correct output
4 1
3 1
4 -1
3 1
4 1
...

user output
1 1
1 1
1 1
1 1
1 1
...

Test 25

Verdict: ACCEPTED

input
2
737 30 

correct output
1 1
1 1
1 1
1 1
1 1
...

user output
1 1
1 1
1 1
1 1
1 1
...

Test 26

Verdict:

input
3
53 49 27 

correct output
1 1
1 1
1 1
1 1
1 1
...

user output
1 1
1 1
1 1
1 1
1 1
...

Test 27

Verdict: ACCEPTED

input
3
161 2 200 

correct output
3 1
3 1
3 1
3 1
3 1
...

user output
1 1
1 1
1 1
1 1
1 1
...

Test 28

Verdict: ACCEPTED

input
3
16 16 106 

correct output
3 1
3 1
3 1
3 1
3 1
...

user output
1 1
1 1
1 1
1 1
1 1
...

Test 29

Verdict:

input
2
11 2885 

correct output
1 1
1 1
1 1
1 1
1 1
...

user output
1 1
1 1
1 1
1 1
1 1
...

Test 30

Verdict: ACCEPTED

input
4
4 188 7 2 

correct output
4 1
3 1
4 -1
3 1
4 1
...

user output
1 1
1 1
1 1
2 1
1 -1
...