Submission #765016

#TimeUsernameProblemLanguageResultExecution timeMemory
7650161075508020060209tcSob (COCI19_sob)C++14
110 / 110
583 ms19076 KiB


#include<bits/stdc++.h>
using namespace std;
#define int long long
#define X first
#define Y second
int n;int m;
int vis[1000006];

signed main(){
vector<pair<int,int>>ans;
cin>>n>>m;
int lst=0;
for(int i=n-1;i>=0;i--){
    if(lst!=0&&vis[lst-1]==0&&((i&(lst-1+m))==i)  ){
        lst--;
        ans.push_back({i,lst+m});
        vis[lst]=1;
        continue;
    }
    for(int j=0;j<=n-1;j++){
        if(vis[j]){continue;}
        if( ((i&(j+m))==i)  ){
            ans.push_back({i,j+m});
            lst=j;
            vis[j]=1;
            break;
        }
    }
}
for(int i=0;i<ans.size();i++){
    cout<<ans[i].first<<" "<<ans[i].second<<endl;
}
}

Compilation message (stderr)

sob.cpp: In function 'int main()':
sob.cpp:32:14: warning: comparison of integer expressions of different signedness: 'long long int' and 'std::vector<std::pair<long long int, long long int> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   32 | for(int i=0;i<ans.size();i++){
      |             ~^~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...