This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include<bits/stdc++.h>
using namespace std;
#define int long long
int gcd(int x, int y)
{
while(x>0)
{
int r = y%x;
y=x;
x=r;
}
return y;
}
map<__int128,int> mp;
signed main()
{
int n,A,B,cnt=0;
cin>>n>>A>>B;
A = A / gcd(A,B+1);
int le,ri;
__int128 copA=A,copB=B;
__int128 prod=copA*copB;
for(int i=1;i<=n;i++)
{
cin>>le>>ri;
for(__int128 t=le;t<=ri;t++)
{
/*int p = t/B;
pair<int,int> aux = {p%A, t%B};
if(mp[aux]==0)
{
mp[aux]++;
cnt++;
}*/
if(mp[t%prod]==0)
{
mp[t%prod]=1;
cnt++;
}
}
}
cout<<cnt;
return 0;
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |