CSES - UKIEPC 2017 - Results
Submission details
Task:Alien Sunset
Sender:Hannes Ihalainen
Submission time:2017-10-31 17:18:09 +0200
Language:C++
Status:READY
Result:ACCEPTED
Test results
testverdicttime
#1ACCEPTED0.04 sdetails
#2ACCEPTED0.04 sdetails
#3ACCEPTED0.04 sdetails
#4ACCEPTED0.05 sdetails
#5ACCEPTED0.04 sdetails
#6ACCEPTED0.05 sdetails
#7ACCEPTED0.04 sdetails
#8ACCEPTED0.04 sdetails
#9ACCEPTED0.04 sdetails
#10ACCEPTED0.04 sdetails
#11ACCEPTED0.04 sdetails
#12ACCEPTED0.04 sdetails
#13ACCEPTED0.05 sdetails
#14ACCEPTED0.04 sdetails
#15ACCEPTED0.04 sdetails
#16ACCEPTED0.04 sdetails

Code

#include <iostream>
using namespace std;
int N;

int H[22222];
int R[22222];
int T[22222];

bool ok(int t){
  for (int i=0; i<N; ++i){
    int g=t%H[i];
    if (R[i]<=T[i]){
      if (R[i]<g && g<T[i]) return 0;
    }else{
      if (g<T[i] || R[i]<g) return 0;
    }
  }
  return 1;
}

int main(){
  cin >> N;
  int mxh=0;
  for (int i=0; i<N; ++i){
    cin >> H[i] >> R[i] >> T[i];
    mxh=max(mxh, H[i]);
  }
  for (int i=0; i<mxh*1825; ++i){
    if (ok(i)){
      cout << i << "\n";
      return 0;
    }
  }
  cout << "impossible\n";
}

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