AtCoder Grand Contest 018 A Getting Difference(比较水。。。)
2017-07-23 23:17
561 查看
http://agc018.contest.atcoder.jp/tasks/agc018_a
题意:给你N个数,每次取出两个数,再把他们差的绝对值连同这俩数扔进去,求能不能得到K。
题解:第一种情况,K膜这些数的GCD不为零是肯定做不到的,想一想就知道了嘛。。。第二种K大于最大的数也是做不到的,其他情况都可以做到。。。
题意:给你N个数,每次取出两个数,再把他们差的绝对值连同这俩数扔进去,求能不能得到K。
题解:第一种情况,K膜这些数的GCD不为零是肯定做不到的,想一想就知道了嘛。。。第二种K大于最大的数也是做不到的,其他情况都可以做到。。。
//库省略 using namespace std; int n,k; int a[100005]; bool f,f2; int gcd(int a, int b) { if(b == 0) return a; return gcd(b, a % b); } int main() { cin>>n>>k; if(n==1) { int a; cin>>a; if(a==k) cout<<"POSSIBLE"; else cout<<"IMPOSSIBLE"; return 0; } int g=1; for(int i=0;i<n;i++) { cin>>a[i]; if(i==1) g=gcd(a[0],a[1]); else if(i>1) { int t=g; g=gcd(t,a[i]); } if(a[i]>=k) f=1; } if(!f || k%g!=0) { cout<<"IMPOSSIBLE"; } else { cout<<"POSSIBLE"; } return 0; }
相关文章推荐
- (组合计数)AtCoder Grand Contest 018 E - Sightseeing Plan
- AtCoder Grand Contest 018
- AtCoder Grand Contest 018 A - Getting Difference
- (树的重心/DFS/构造)AtCoder Grand Contest 018 D - Tree and Hamilton Path
- AtCoder Grand Contest 018 E - Sightseeing Plan
- AtCoder Grand Contest 018 A
- 【AtCoder】 Grand Contest 018 C - Coins
- [AtCoder Grand Contest 018] D: Tree and Hamilton Path (agc018D)
- Atcoder Grand Contest 018 D Tree and Hamilton Path
- AtCoder Grand Contest 018 E - Sightseeing Plan
- AtCoder Grand Contest 018A: Getting Difference 题解
- AtCoder Grand Contest 018 F - Two Trees
- AtCoder Grand Contest 018 A - Getting Difference
- AtCoder Grand Contest 018B: Sports Festival 题解
- 【GCD】AtCoder Grand Contest 018 A - Getting Difference
- AtCoder Grand Contest 018 A - Getting Difference
- 【贪心】AtCoder Grand Contest 018 B - Sports Festival
- AtCoder Grand Contest 018 E Sightseeing Plan
- 【贪心】【堆】AtCoder Grand Contest 018 C - Coins
- (技巧)AtCoder Grand Contest 018 C : Coins