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>
#define lli long long int
#define int long long int
#define pii pair<int, int>
#ifdef LOCAL
#define debug(a) cout<<#a<<' '<<a<<endl;
#endif
#ifndef LOCAL
#define debug(a) ;
#endif
using namespace std;
void faster(void)
{
ios_base::sync_with_stdio(false);
cin.tie();
cout.tie();
}
int lcm(int a, int b)
{
return (a*b)/__gcd(a,b);
}
map<pii, bool> q;
int32_t main()
{
#ifdef LOCAL
freopen("in.txt", "r", stdin);
freopen("out.txt", "w", stdout);
#endif
pii x;
vector<pii> v;
int i, n, A, B, l, r, mx;
cin >> n >> A >> B;
if(0==0)
{
int ln;
mx = B*(lcm(A, B+1)/(B+1));
for(i=1;i<=n;i++)
{
cin >> l >> r;
int ln = r-l;
l = l % (mx);
if(ln>=mx)
{
cout<<mx<<endl;
exit(0);
}
if(l+ln >= mx)
{
v.push_back(pii(l, mx-1));
v.push_back(pii(0, l+ln-mx));
}
else
{
v.push_back(pii(l, l+ln));
}
}
sort(v.begin(), v.end());
int sum=0, right=-1;
for(int i=0;i<v.size();i++)
{
if(v[i].first > right) sum += (v[i].second-v[i].first+1), right=v[i].second;
else if(v[i].second > right) sum += (v[i].second-right), right=v[i].second;
}
cout<<sum<<endl;
//debug(lmin);
//debug(rmax);
exit(0);
}
cout<<q.size()<<endl;
return 0;
}
Compilation message (stderr)
strange_device.cpp: In function 'int32_t main()':
strange_device.cpp:68:16: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
for(int i=0;i<v.size();i++)
~^~~~~~~~~
strange_device.cpp:43:7: warning: unused variable 'ln' [-Wunused-variable]
int ln;
^~
# | 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... |