# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
595880 | AGE | Sob (COCI19_sob) | C++14 | 5 ms | 340 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<bits/stdc++.h>
#define F first
#define S second
#define pb push_back
#define int long long
using namespace std;
const int N=2e6+10,M=2e3,mod=10;
bool vis[N];
main()
{
int n,m;
cin>>n>>m;
int cnt=0;
for(int i=0;i<30;i++){
if(n&(1<<i))
cnt++;
}
if(cnt==1){
vector<pair<int,int>>v;
for(int i=m;i<n+m;i++){
bitset<32>bt;
int num=0;
bt=i;
for(int j=0;j<31;j++){
if(bt[j]==1){
num+=(1<<j);
if(vis[num]==0){
vis[num]=1;
break;
}
}
}
if(num==n){
num=0;
}
v.pb({num,i});
}
sort(v.begin(),v.end());
for(int i=0;i<v.size();i++)
cout<<v[i].F<<" "<<v[i].S<<endl;
}
else{
int index=-1;
for(int i=m+n-1;i>=m;i--){
int y=n-1;
int x=(i&y);
if(x==y){
index=i;
break;
}
}
int indexx=index+1;
int i=n-1;
while(i>-1){
cout<<i<<" "<<index<<endl;
i--;
index--;
if(index==m-1)
index=m+n-1;
}
if(i!=-1)
cout<<i<<" "<<indexx<<endl;
}
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... |