Submission #1002760

#TimeUsernameProblemLanguageResultExecution timeMemory
1002760DeepessonMađioničar (COI22_madionicar)C++17
0 / 100
80 ms60224 KiB
#include <bits/stdc++.h> typedef std::pair<int,int> pii; int main() { int n; std::cin>>n; int oldn=n; int truenum=2; while(truenum<n){ truenum*=2; } n=truenum; std::vector<std::vector<pii>> ans; for (int k = 2; k <= n; k *= 2){ // k is doubled every iteration for (int j = k/2; j > 0; j /= 2){ // j is halved at every iteration, with truncation of fractional parts std::vector<pii> tp; for (int i = 0; i < n; i++){ int l = i ^ j; if (l > i) if ( (i&k == 0)){ if(std::max(l+1,i+1)<=oldn) tp.push_back({l+1,i+1}); }else { if(std::max(l+1,i+1)<=oldn) tp.push_back({i+1,l+1}); } } if(tp.size()){ ans.push_back(tp); } } } std::cout<<ans.size()<<"\n"; for(auto&x:ans){ for(int v=0;v!=x.size();++v)std::cout<<"CMPSWP R"<<x[v].first<<" R"<<x[v].second<<((v==(x.size()-1))?"\n":" "); } }

Compilation message (stderr)

Main.cpp: In function 'int main()':
Main.cpp:20:31: warning: suggest parentheses around comparison in operand of '&' [-Wparentheses]
   20 |                     if ( (i&k == 0)){
      |                             ~~^~~~
Main.cpp:19:20: warning: suggest explicit braces to avoid ambiguous 'else' [-Wdangling-else]
   19 |                 if (l > i)
      |                    ^
Main.cpp:35:22: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::pair<int, int> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   35 |         for(int v=0;v!=x.size();++v)std::cout<<"CMPSWP R"<<x[v].first<<" R"<<x[v].second<<((v==(x.size()-1))?"\n":" ");
      |                     ~^~~~~~~~~~
Main.cpp:35:94: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::pair<int, int> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   35 |         for(int v=0;v!=x.size();++v)std::cout<<"CMPSWP R"<<x[v].first<<" R"<<x[v].second<<((v==(x.size()-1))?"\n":" ");
      |                                                                                             ~^~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...