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

Code

#include <bits/stdc++.h>
using namespace std;
int H[21];
int R[21];
int T[21];
int s[21];
int ss[21];
int main() {
  int n;
  cin>>n;
  int m=0;
  int L=0;
  for(int i=0;i<n;++i){
    cin>>H[i]>>R[i]>>T[i];
    if(H[i]>m)m=H[i];
    ss[i]=0;
    if(R[i]<T[i])++L,ss[i]=1;
    s[i]=0;
  }
  int r=0;
  if(L == n)goto pos;
  for(int j=1;j<m*1826;++j){
    L=0;
    for(int i=0;i<n;++i){
      s[i]++;s[i]%=H[i];
      if(s[i]==R[i]){L++;ss[i]=0;}
      if(s[i]==T[i])ss[i]=1;
      L+=ss[i];
    }
    if(L==n){r=j;goto pos;}
  }
  cout<<"impossible\n";
  return 0;
pos:
  cout<<r<<"\n";
  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:

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

correct output
0

user output
288

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