CSES - UKIEPC 2017 - Results
Submission details
Task:Alien Sunset
Sender:KnowYourArchitecture
Submission time:2017-10-31 19:44:00 +0200
Language:C++
Status:READY
Result:ACCEPTED
Test results
testverdicttime
#1ACCEPTED0.04 sdetails
#2ACCEPTED0.04 sdetails
#3ACCEPTED0.03 sdetails
#4ACCEPTED0.04 sdetails
#5ACCEPTED0.04 sdetails
#6ACCEPTED0.05 sdetails
#7ACCEPTED0.02 sdetails
#8ACCEPTED0.05 sdetails
#9ACCEPTED0.05 sdetails
#10ACCEPTED0.04 sdetails
#11ACCEPTED0.04 sdetails
#12ACCEPTED0.04 sdetails
#13ACCEPTED0.06 sdetails
#14ACCEPTED0.04 sdetails
#15ACCEPTED0.04 sdetails
#16ACCEPTED0.04 sdetails

Code

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


int h[21];
int l[21][100];

int main() {
  int n;
  cin >> n;
  int ld = 0;
  for(int i=0;i<n;i++) {
    int r, t;
    cin >> h[i] >> r >> t;
    ld = max(ld, h[i]);
    if(t<r){
      for(int j=0;j<h[i];++j)l[i][j]=1;
      while(t<=r)l[i][t++]=0;
    }
    else if (t>r){
      while(++r<t)l[i][r]=1;
    }
  }
  for(int ct=0;ct<ld*1825;ct++) {
    int foo=0;
    for(int i=0;i<n;++i)foo+=1-l[i][ct%h[i]];
    if(foo == n) {
      cout << ct << endl;
      return 0;
    }
  }
  cout << "impossible" << endl;
  return 0;
}

Test details

Test 1

Verdict: ACCEPTED

input
1
5 1 3

correct output
0

user output
0

Test 2

Verdict: ACCEPTED

input
2
7 2 4
9 3 5

correct output
0

user output
0

Test 3

Verdict: ACCEPTED

input
12
34 28 0
43 38 0
46 13 0
26 8 0
...

correct output
0

user output
0

Test 4

Verdict: ACCEPTED

input
1
27 14 24

correct output
0

user output
0

Test 5

Verdict: ACCEPTED

input
15
27 18 8
58 8 11
13 0 3
73 42 25
...

correct output
33033

user output
33033

Test 6

Verdict: ACCEPTED

input
20
70 14 37
16 3 15
82 62 31
60 17 51
...

correct output
impossible

user output
impossible

Test 7

Verdict: ACCEPTED

input
15
81 69 14
3 1 2
53 4 36
8 0 5
...

correct output
40534

user output
40534

Test 8

Verdict: ACCEPTED

input
16
40 28 26
98 50 49
6 3 0
61 50 41
...

correct output
impossible

user output
impossible

Test 9

Verdict: ACCEPTED

input
16
92 37 56
89 6 59
100 76 89
40 11 6
...

correct output
impossible

user output
impossible

Test 10

Verdict: ACCEPTED

input
16
66 63 24
76 17 69
51 27 10
65 37 28
...

correct output
3799

user output
3799

Test 11

Verdict: ACCEPTED

input
2
46 11 3
96 56 80

correct output
3

user output
3

Test 12

Verdict: ACCEPTED

input
15
76 3 30
79 44 14
85 5 6
53 28 2
...

correct output
595

user output
595

Test 13

Verdict: ACCEPTED

input
14
35 27 34
96 2 37
78 19 17
61 27 7
...

correct output
impossible

user output
impossible

Test 14

Verdict: ACCEPTED

input
11
87 23 11
38 4 5
37 27 22
92 46 53
...

correct output
112247

user output
112247

Test 15

Verdict: ACCEPTED

input
6
27 20 10
91 71 29
82 69 72
28 24 5
...

correct output
64

user output
64

Test 16

Verdict: ACCEPTED

input
1
54 48 25

correct output
25

user output
25