| 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 |
