Submission #1445760
Source Code Expand
#include <stdio.h> int euclid(int a, int b){//a > b int c; while(1){ c = a % b; if(c == 0){ return b; } a = b; b = c; } } int main(void){ int n, k; scanf("%d%d", &n, &k); int max = 0; int gcd; for(int i = 0; i < n; i++){ int a; scanf("%d", &a); if(max < a){ max = a; } if(i == 0){ gcd = a; }else if(gcd > a){ gcd = euclid(gcd, a); }else{ gcd = euclid(a, gcd); } } if(max < k){ printf("IMPOSSIBLE\n"); return 0; } if(k % gcd == 0){ printf("POSSIBLE\n"); }else{ printf("IMPOSSIBLE\n"); } return 0; } /* kが最大値より大きい場合は不可能。 kがすべての数の最大公約数の倍数でなければ不可能。 */
Submission Info
Submission Time | |
---|---|
Task | A - Getting Difference |
User | Hewla |
Language | C (Clang 3.8.0) |
Score | 300 |
Code Size | 746 Byte |
Status | AC |
Exec Time | 13 ms |
Memory | 128 KB |
Judge Result
Set Name | Sample | All | ||||
---|---|---|---|---|---|---|
Score / Max Score | 0 / 0 | 300 / 300 | ||||
Status |
|
|
Set Name | Test Cases |
---|---|
Sample | sample_01.txt, sample_02.txt, sample_03.txt, sample_04.txt |
All | sample_01.txt, sample_02.txt, sample_03.txt, sample_04.txt, sample_01.txt, sample_02.txt, sample_03.txt, sample_04.txt, subtask_1_01.txt, subtask_1_02.txt, subtask_1_03.txt, subtask_1_04.txt, subtask_1_05.txt, subtask_1_06.txt, subtask_1_07.txt, subtask_1_08.txt, subtask_1_09.txt, subtask_1_10.txt, subtask_1_11.txt |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
sample_01.txt | AC | 1 ms | 128 KB |
sample_02.txt | AC | 1 ms | 128 KB |
sample_03.txt | AC | 1 ms | 128 KB |
sample_04.txt | AC | 1 ms | 128 KB |
subtask_1_01.txt | AC | 1 ms | 128 KB |
subtask_1_02.txt | AC | 1 ms | 128 KB |
subtask_1_03.txt | AC | 13 ms | 128 KB |
subtask_1_04.txt | AC | 13 ms | 128 KB |
subtask_1_05.txt | AC | 7 ms | 128 KB |
subtask_1_06.txt | AC | 2 ms | 128 KB |
subtask_1_07.txt | AC | 8 ms | 128 KB |
subtask_1_08.txt | AC | 12 ms | 128 KB |
subtask_1_09.txt | AC | 6 ms | 128 KB |
subtask_1_10.txt | AC | 9 ms | 128 KB |
subtask_1_11.txt | AC | 11 ms | 128 KB |