Submission #2234148
Source Code Expand
// ------------------------------------
// Date:2018/ 3/20
// Problem:A- Getting Difference a.cpp
//
// ------------------------------------
#include <bits/stdc++.h>
using namespace std;
#define EACH(i,a) for (auto& i : a)
#define FOR(i,a,b) for(int i=(int)a;i<(int)b;++i)
#define RFOR(i,a,b) for(int i=(int)b-1;i>=(int)a;--i)
#define REP(i,n) FOR(i,0,n)
#define RREP(i,n) RFOR(i,0,n)
#define ALL(a) (a).begin(),(a).end()
#define debug(x) cerr << #x << ":" << x << endl;
#define OK(ok) cout << (ok ? "POSSIBLE" : "IMPOSSIBLE") << endl;;
typedef long long ll;
void CINT(){}
template <class Head,class... Tail>
void CINT(Head&& head,Tail&&... tail) {
cin >> head; CINT(move(tail)...);
}
#define CIN(...) int __VA_ARGS__;CINT(__VA_ARGS__)
#define LCIN(...) ll __VA_ARGS__;CINT(__VA_ARGS__)
#define SCIN(...) string __VA_ARGS__;CINT(__VA_ARGS__)
static const int MOD = 1e9 + 7;
static const int MAX_N = 1;
int N, K;
ll gcdd(ll x, ll y)
{
ll r0, r1, a0, a1, b0, b1, q0, q1, tmp;
r0 = x; r1 = y;
a0 = 1; a1 = 0;
b0 = 0; b1 = 1;
while(r1 > 0) {
q1 = r0 / r1;
// a2 = a0 - q1 * a1
tmp = a1;
// a1 := a2
a1 = a0 - q1 * a1;
a0 = tmp;
// b2 = b0 - q1 * b1
tmp = b1;
// b1 := b2
b1 = b0 - q1 * b1;
b0 = tmp;
// r2 = r0 - q1 * r1
tmp = r1;
// r1 := r2
r1 = r0 - q1 * r1;
r0 = tmp;
}
return r0;
}
bool solve(vector< int > s)
{
if (K > s[s.size() - 1]) return false;
ll m_gcd = s[0];
FOR(i, 1, N) {
m_gcd = gcdd(m_gcd, s[i]);
}
if (K % m_gcd == 0) return true;
return false;
}
int main()
{
cin.tie(0);
ios::sync_with_stdio(false);
cin >> N >> K;
vector< int > a(N);
REP(i, N) {
cin >> a[i];
}
sort(ALL(a));
bool ok = solve(a);
OK(ok);
return 0;
}
Submission Info
Submission Time |
|
Task |
A - Getting Difference |
User |
task4233 |
Language |
C++14 (GCC 5.4.1) |
Score |
300 |
Code Size |
1869 Byte |
Status |
AC |
Exec Time |
19 ms |
Memory |
1024 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 |
256 KB |
sample_02.txt |
AC |
1 ms |
256 KB |
sample_03.txt |
AC |
1 ms |
256 KB |
sample_04.txt |
AC |
1 ms |
256 KB |
subtask_1_01.txt |
AC |
1 ms |
256 KB |
subtask_1_02.txt |
AC |
1 ms |
256 KB |
subtask_1_03.txt |
AC |
19 ms |
1024 KB |
subtask_1_04.txt |
AC |
13 ms |
1024 KB |
subtask_1_05.txt |
AC |
7 ms |
640 KB |
subtask_1_06.txt |
AC |
4 ms |
384 KB |
subtask_1_07.txt |
AC |
12 ms |
768 KB |
subtask_1_08.txt |
AC |
16 ms |
1024 KB |
subtask_1_09.txt |
AC |
8 ms |
640 KB |
subtask_1_10.txt |
AC |
14 ms |
768 KB |
subtask_1_11.txt |
AC |
14 ms |
896 KB |