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
AC × 4
AC × 19
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