Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<bits/stdc++.h>
- #define int long long
- using namespace std;
- struct Q{
- int startpos, ans;
- };
- signed main()
- {
- ios_base::sync_with_stdio(0);
- cin.tie(0);
- cout.tie(0);
- srand(time(0));
- int n, m;
- cin>>n>>m;
- if(n == 1){
- cout<<"answer 1";
- return 0;
- }
- // 3 2 1
- vector<Q> q(n);
- for(int i = 0; i < n; i++){
- q[i] = {i,0};
- }
- for(int i = n-1; i > 0; i--){
- cout<<"swap "<<n<<" "<<1<<endl;
- int valA, valB;
- cin>>valA;
- cout<<"swap "<<n<<" "<<1<<endl;
- cin>>valB;
- q[n-1].ans = valA - valB;
- if(i == 1) break;
- swap(q[i-1], q[n-1]);
- cout<<"swap "<<i<<" "<<n<<endl;
- cin>>valA;
- }
- sort(q.begin(), q.end(), [](Q a, Q b){
- return a.ans < b.ans;
- });
- vector<int> ans(n);
- for(int i = 0; i < n; i++){
- ans[q[i].startpos] = i;
- }
- cout<<"answer ";
- for(int i = 0; i < n; i++){
- cout<<ans[i]+1<<" ";
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement