Submission #962025

#TimeUsernameProblemLanguageResultExecution timeMemory
962025AmrStrange Device (APIO19_strange_device)C++17
5 / 100
75 ms21424 KiB
#include <bits/stdc++.h> using namespace std; typedef long long ll; typedef long double ld; #define S second #define F first #define all(x) (x).begin(),(x).end() #define sz size() #define Yes cout << "YES" << endl #define No cout << "NO" << endl #define pb(x) push_back(x); #define endl '\n' #define fast ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); const int N=3e5+7; ll INF=INT_MAX,mod=1e9+7; int TT=1; ll power(ll x, unsigned int y) { ll res = 1; x = x; // % mod; if (x == 0) return 0; while (y > 0) { if (y & 1) res = (res*x) ; // % mod; y = y>>1; x = (x*x) ; // % mod; } return res; } typedef unsigned long long ull; ll lo(ll x) { ll cnt = 0; while(x) cnt++,x/=10; return cnt-1; } ll f(ll x, ll y) { ll m = (x/power(10,lo(x)))*(y/power(10,lo(y))); return (lo(x)+lo(y)+lo(m)>=19||(x*y)>1e18); } pair<ll,ll> arr[N]; void solve() { ll n; ull a , b; cin >> n >> a >> b; ll mgcd = __gcd(a,b+1); a/=mgcd; ull cntans = 0; for(int i = 1; i <= n; i++) { cin >> arr[i].F >> arr[i].S; cntans+= arr[i].S-arr[i].F+1; } if(f(a,b)) { cout << cntans << endl; return; } else cout << min(cntans,a*b) << endl; } int main(){ //freopen("friday.in","r",stdin); //freopen("friday.out","w",stdout); fast; while(TT--) solve(); return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...