fork download
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3.  
  4. int main() {
  5. int N; cin >> N;
  6. int ans[10010] = {};
  7. pair<int, int> ma = make_pair(0, 1);
  8. for(int i=2; i<=N; i++) {
  9. printf("? 1 %d\n", i);
  10. fflush(stdout);
  11. int serve; scanf("%d", &serve);
  12. if(ma.first < serve) ma = make_pair(serve, i);
  13. }
  14.  
  15. ans[0] = ma.second;
  16. for(int i=1; i<=N; i++) {
  17. printf("? %d %d\n", ma.second, i);
  18. fflush(stdout);
  19. int serve; scanf("%d", &serve);
  20. ans[serve] = i;
  21. }
  22.  
  23. int l = ans[0], r = ans[N-1];
  24. printf("!");
  25. for(int i=0; i<N; i++) printf(" %d", ans[i]);
  26. printf("\n");
  27. fflush(stdout);
  28. return 0;
  29. }
Success #stdin #stdout 0s 15224KB
stdin
Standard input is empty
stdout
!