Task: | Alien Sunset |
Sender: | Pietari Kaskela |
Submission time: | 2017-10-31 19:06:25 +0200 |
Language: | C++ |
Status: | READY |
Result: | ACCEPTED |
test | verdict | time | |
---|---|---|---|
#1 | ACCEPTED | 0.04 s | details |
#2 | ACCEPTED | 0.04 s | details |
#3 | ACCEPTED | 0.05 s | details |
#4 | ACCEPTED | 0.04 s | details |
#5 | ACCEPTED | 0.04 s | details |
#6 | ACCEPTED | 0.04 s | details |
#7 | ACCEPTED | 0.04 s | details |
#8 | ACCEPTED | 0.03 s | details |
#9 | ACCEPTED | 0.05 s | details |
#10 | ACCEPTED | 0.04 s | details |
#11 | ACCEPTED | 0.04 s | details |
#12 | ACCEPTED | 0.05 s | details |
#13 | ACCEPTED | 0.04 s | details |
#14 | ACCEPTED | 0.03 s | details |
#15 | ACCEPTED | 0.03 s | details |
#16 | ACCEPTED | 0.04 s | details |
Code
#include <bits/stdc++.h> using namespace std; bool vittu[22][1000]; int main(){ int64_t n; cin >> n; int64_t h[22], r[22], t[22]; int64_t d = 0; for(int i = 0; i < n; ++i){ cin >> h[i] >> r[i] >> t[i]; d = max(d, h[i]); int st = r[i]+1; while(st != t[i]){ vittu[i][st] = 1; ++st; st = st%h[i]; } } for(int i = 0; i < 1825; ++i){ for(int j = 0; j < d; ++j){ bool g = true; for(int k = 0; k < n; ++k){ int hour = (i*d+j)%h[k]; // /cout << hour << " vs " << h[k] << " " << r[k] << " " << t[k] << " " << vittu[k][hour] << endl; //cout << (hour > r[k] && hour < t[k]) << (hour > r[k] && t[k] < r[k]) << (hour < r[k] && t[k] < r[k]) << endl; if(vittu[k][hour]){ g = false; break; } } if(g){ cout << i*d+j << endl; return 0; } } } cout << "impossible\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: 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 |