Drone Delivery Codechef
Problem Code: DRONEDEL
Contest : LockDown Test 4.0Problem Link : https://www.codechef.com/LDT42020/problems/DRONEDEL
Solution
#include<bits/stdc++.h> using namespace std ; typedef long long ll; typedef pair<ll, ll> Pll; #define F first #define S second #define MP make_pair #define PB push_back #define rad(X) cout << (X) << endl #define ASH(X) cout << (X) << " " #define debug(x) cout << #x << " " << x << endl; #define debug2(x,y) cout << #x << " " << x << " " << #y << " " << y << endl; #define FOR(I,A,B) for(ll I = (A); I <= (B); I++) #define cir(I,B,A) for(ll I = (A); I >=(B); I--) #define MS0(X) memset((X), 0, sizeof((X))) #define MS1(X) memset((X), -1, sizeof((X))) #define SORT(c) (sort(c.begin(),c.end())) #define SORT_UNIQUE(c) (sort(c.begin(),c.end()), c.resize(distance(c.begin(),unique(c.begin(),c.end())))) #define GET_POS(c,x) (lower_bound(c.begin(),c.end(),x)-c.begin()) #define CASES int ___T; cin >> ___T; for(int cs=1;cs<=___T;cs++) #define FAST() ios_base::sync_with_stdio(false);cin.tie(NULL);cout.tie(NULL); template<typename T>T gcd(T x, T y){if(y==0)return x;else return gcd(y,x%y);} ll fx[] = {1, 1, 0, -1, -1, -1, 0, 1}; ll fy[] = {0, 1, 1, 1, 0, -1, -1, -1}; vector<ll>a,b,c; map<ll,ll>m1,m2,m3; /************************************************/ void Execute() { ll n, nb=0, k, q, a, b, c, l, r, d, x, y, p, m, z; cin >> n >> l; ll ar[n+1]; ll bb[n+1]; c = 0; p = 0; m = 0; std::vector<ll> v,v1; ll mn = 1e9; FOR(i,1,n) { cin >> ar[i]; v.PB(ar[i]); if(i>1) { x = ar[i]-ar[i-1]; nb = gcd(x,nb); v1.PB(x); } } y = upper_bound(v.begin(),v.end(),l)-v.begin(); z = lower_bound(v.begin(),v.end(),l)-v.begin(); ll samne = v[y]-l; ll pichone = l-v[z]; if(samne<0) samne=0; if(pichone<0) pichone =0; nb=gcd(nb,samne); nb = gcd(nb,pichone); std::cout << nb << '\n'; } int32_t main() { // #ifndef ONLINE_JUDGE //freopen("input.txt", "r", stdin); // #endif FAST(); // CASES // { Execute(); //} }
Comments
Post a Comment