Submission #522846

#TimeUsernameProblemLanguageResultExecution timeMemory
522846OJtesterThe Collection Game (BOI21_swaps)C++17
50 / 100
59 ms536 KiB
//Forwarded from QOJ19590
#include "swaps.h"
#include <bits/stdc++.h>
#define pi pair<int,int>
#define mk make_pair
#define rep(i,  a) for(register int i=1,i##end=a;i<=i##end;i++)
using namespace std;
void solve(int n, int D) {
	vector<int>ans;ans.resize(n);
	rep(i,n)ans[i-1]=i;
	for (int i=0;i<500;i++) {
		vector<pi>A;
		for(int j=i%2;j+1<ans.size();j+=2) {
			schedule(ans[j],ans[j+1]);
			A.push_back(mk(j,j+1));
		}
		if(!A.empty()){
			auto res=visit();
			for(int j=0;j<A.size();j++)
				if(!res[j])swap(ans[A[j].first],ans[A[j].second]);
		}
	}
	answer(ans);return;
}

Compilation message (stderr)

swaps.cpp: In function 'void solve(int, int)':
swaps.cpp:10:6: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
   10 |  rep(i,n)ans[i-1]=i;
      |      ^
swaps.cpp:6:37: note: in definition of macro 'rep'
    6 | #define rep(i,  a) for(register int i=1,i##end=a;i<=i##end;i++)
      |                                     ^
swaps.cpp:10:6: warning: ISO C++17 does not allow 'register' storage class specifier [-Wregister]
   10 |  rep(i,n)ans[i-1]=i;
      |      ^
swaps.cpp:6:41: note: in definition of macro 'rep'
    6 | #define rep(i,  a) for(register int i=1,i##end=a;i<=i##end;i++)
      |                                         ^
swaps.cpp:13:20: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   13 |   for(int j=i%2;j+1<ans.size();j+=2) {
      |                 ~~~^~~~~~~~~~~
swaps.cpp:19:17: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::pair<int, int> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   19 |    for(int j=0;j<A.size();j++)
      |                ~^~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...