Task: | Perfect Plants |
Sender: | Olli |
Submission time: | 2018-09-06 18:22:22 +0300 |
Language: | C++ |
Status: | READY |
Result: | ACCEPTED |
test | verdict | time | |
---|---|---|---|
#1 | ACCEPTED | 0.02 s | details |
#2 | ACCEPTED | 0.03 s | details |
#3 | ACCEPTED | 0.02 s | details |
#4 | ACCEPTED | 0.01 s | details |
#5 | ACCEPTED | 0.06 s | details |
#6 | ACCEPTED | 0.06 s | details |
#7 | ACCEPTED | 0.06 s | details |
#8 | ACCEPTED | 0.06 s | details |
#9 | ACCEPTED | 0.05 s | details |
#10 | ACCEPTED | 0.05 s | details |
#11 | ACCEPTED | 0.06 s | details |
#12 | ACCEPTED | 0.05 s | details |
#13 | ACCEPTED | 0.06 s | details |
#14 | ACCEPTED | 0.05 s | details |
#15 | ACCEPTED | 0.06 s | details |
#16 | ACCEPTED | 0.06 s | details |
#17 | ACCEPTED | 0.05 s | details |
#18 | ACCEPTED | 0.06 s | details |
#19 | ACCEPTED | 0.06 s | details |
#20 | ACCEPTED | 0.06 s | details |
Code
#include <iostream> using namespace std; const int N = 1e5 + 5; int t[N]; bool ok[N]; int gcd(int a, int b) { if(a < b) swap(a, b); if(b == 0) return a; return gcd(b, a%b); } int main() { int n, x; cin >> n >> x; for(int i = 1; i <= n; ++i) { cin >> t[i]; if(t[i]%x == 0) ok[i] = true; } for(int i = 1; i <= n; ++i) { if(!ok[i]) continue; int k = i; while(ok[k]) { ++k; } --k; int g = t[i]; for(int j = i+1; j <= k; ++j) { g = gcd(g, t[j]); } if(g == x) { cout << "YES\n"; return 0; } i = k+1; } cout << "NO\n"; }
Test details
Test 1
Verdict: ACCEPTED
input |
---|
3 2 4 6 7 |
correct output |
---|
YES |
user output |
---|
YES |
Test 2
Verdict: ACCEPTED
input |
---|
3 2 4 7 6 |
correct output |
---|
NO |
user output |
---|
NO |
Test 3
Verdict: ACCEPTED
input |
---|
1 1 1 |
correct output |
---|
YES |
user output |
---|
YES |
Test 4
Verdict: ACCEPTED
input |
---|
2 2 4 1 |
correct output |
---|
NO |
user output |
---|
NO |
Test 5
Verdict: ACCEPTED
input |
---|
100000 99991 48913 47865 43120 26396 63608 ... |
correct output |
---|
YES |
user output |
---|
YES |
Test 6
Verdict: ACCEPTED
input |
---|
100000 99991 63439 84900 80538 966 44604 45... |
correct output |
---|
NO |
user output |
---|
NO |
Test 7
Verdict: ACCEPTED
input |
---|
100000 3 51120 74286 27282 34584 75480 ... |
correct output |
---|
NO |
user output |
---|
NO |
Test 8
Verdict: ACCEPTED
input |
---|
100000 2 33825 30524 70613 32028 68989 ... |
correct output |
---|
NO |
user output |
---|
NO |
Test 9
Verdict: ACCEPTED
input |
---|
100000 2 59658 85500 210 1860 21720 917... |
correct output |
---|
YES |
user output |
---|
YES |
Test 10
Verdict: ACCEPTED
input |
---|
100000 30030 44055 49914 78957 37629 54459 ... |
correct output |
---|
NO |
user output |
---|
NO |
Test 11
Verdict: ACCEPTED
input |
---|
100000 30030 19334 66815 42941 59094 97276 ... |
correct output |
---|
NO |
user output |
---|
NO |
Test 12
Verdict: ACCEPTED
input |
---|
100000 30030 75201 75765 23340 72263 31321 ... |
correct output |
---|
YES |
user output |
---|
YES |
Test 13
Verdict: ACCEPTED
input |
---|
100000 24595 8503 96208 65040 98141 79097 9... |
correct output |
---|
NO |
user output |
---|
NO |
Test 14
Verdict: ACCEPTED
input |
---|
100000 57680 10991 66626 27857 65777 46281 ... |
correct output |
---|
YES |
user output |
---|
YES |
Test 15
Verdict: ACCEPTED
input |
---|
100000 62229 22193 77638 2029 11583 66798 4... |
correct output |
---|
NO |
user output |
---|
NO |
Test 16
Verdict: ACCEPTED
input |
---|
100000 78303 3268 66800 58156 32442 50242 2... |
correct output |
---|
YES |
user output |
---|
YES |
Test 17
Verdict: ACCEPTED
input |
---|
100000 28195 67974 63005 16184 10579 23382 ... |
correct output |
---|
NO |
user output |
---|
NO |
Test 18
Verdict: ACCEPTED
input |
---|
100000 49101 33192 63413 59812 73646 98211 ... |
correct output |
---|
YES |
user output |
---|
YES |
Test 19
Verdict: ACCEPTED
input |
---|
100000 99912 16881 26353 52138 60834 88113 ... |
correct output |
---|
NO |
user output |
---|
NO |
Test 20
Verdict: ACCEPTED
input |
---|
100000 75958 41070 22435 99022 7263 55481 7... |
correct output |
---|
YES |
user output |
---|
YES |