# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
659132 | activedeltorre | Strange Device (APIO19_strange_device) | C++14 | 1603 ms | 178304 KiB |
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 <iostream>
#include <algorithm>
#include <vector>
#include <map>
using namespace std;
map<long long,long long>norm;
vector<pair<long long,long long> >vec[2000005];
bool cmp(pair<long long,long long> a,pair<long long,long long>b)
{
if(a.first!=b.first)
{
return a.first<b.first;
}
return a.second>b.second;
}
int main()
{
long long n,i,j,m,k,l,a,b,val1,val2,rest1,rest2,valoare,cnt=0,x,y;
cin>>n>>a>>b;
for(i=1;i<=n;i++)
{
cin>>x>>y;
val1=x/b;
val2=y/b;
rest1=x%b;
rest2=y%b;
if(val1==val2)
{
valoare=(val1*(b+1))%a;
if(norm[valoare]==0)
{
cnt++;
norm[valoare]=cnt;
}
vec[norm[valoare]].push_back({rest1,rest2});
}
else
{
valoare=(val1*(b+1))%a;
if(norm[valoare]==0)
{
cnt++;
norm[valoare]=cnt;
}
vec[norm[valoare]].push_back({rest1,b-1});
valoare=(val2*(b+1))%a;
if(norm[valoare]==0)
{
cnt++;
norm[valoare]=cnt;
}
vec[norm[valoare]].push_back({0,rest2});
}
}
long long suma=0,nr,dr,index;
for(i=1;i<=cnt;i++)
{
sort(vec[i].begin(),vec[i].end(),cmp);
nr=vec[i].size();
if(nr>=1)
{
dr=-1;
for(j=0;j<nr;j++)
{
index=j;
dr=vec[i][j].second;
while(index+1<nr && dr>=vec[i][index+1].first)
{
dr=max(dr,vec[i][index].second);
index++;
}
suma=suma+dr-vec[i][j].first+1;
j=index;
}
}
}
cout<<suma;
return 0;
}
Compilation message (stderr)
# | 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... |