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