Submission #259234

#TimeUsernameProblemLanguageResultExecution timeMemory
259234GoolakhStrange Device (APIO19_strange_device)C++17
100 / 100
1020 ms70908 KiB
// FUCKED UP FUCKED UP FUCKED UP FUCKED UP FUCKED UP #include <bits/stdc++.h> using namespace std; #pragma GCC optimize("O2,no-stack-protector,unroll-loops,fast-math") #define F first #define S second #define pb push_back #define SZ(x) (ll)(x.size()) #define all(x) x.begin(),x.end() #define MP make_pair typedef long long ll; typedef long double ld; typedef pair<ll,ll> pll; //mt19937 rng(chrono::steady_clock::now().time_since_epoch().count()); const ll maxn=1e6+10, maxm=1e6+10, lg=21, mod=998244353, inf=1e18+10; ll n,A,B,m; map<ll,ll> ss; int main(){ ios_base::sync_with_stdio(0),cin.tie(0),cout.tie(0); cin>>n>>A>>B; ll g=__gcd(A,B+1); m=A/g; if(B>inf/m+10) m=inf; else m*=B; while(n--){ ll l,r; cin>>l>>r; r++; if(r-l>=m) return cout<<m,0; l%=m, r%=m; ss[l]++, ss[r]--; if(l>=r) ss[0]++, ss[m]--; } ll ans=0,ls=0,ps=0; for(auto x:ss){ if(ps) ans+=x.F-ls; ls=x.F, ps+=x.S; } cout<<ans; 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...