Submission #1286954

#TimeUsernameProblemLanguageResultExecution timeMemory
1286954cowkimArt Collections (BOI22_art)C++20
0 / 100
0 ms332 KiB
#include <iostream> #include <algorithm> #include <vector> #include <set> #include <map> #include <unordered_map> #include <queue> #include <string> #include <math.h> #include <cctype> #include <cstdint> #include <climits> #include <iostream> #include <algorithm> #include <vector> #include <set> #include <map> #include <unordered_map> #include <queue> #include <string> #include <math.h> #include <cctype> #include <cstdint> #include <climits> #include <iomanip> #include <vector> #define ll long long #define endl "\n" using namespace std; /** * returns how many complaints you will receive for this ordering of the art collections */ int publish(std::vector<int>); /** * use this function when you have found the correct order of the art collections * You must call answer exactly once; your program will be automatically * terminated afterwards. */ void answer(std::vector<int>); /** * implement this function */ void solve(int n){ vector<int> permutation(n); for(int i = 0; i<n; i++){ permutation[i] = i+1; } int first = publish(permutation); vector<int> distFromOne(n,0); for(int i = 1; i< n; i++){ swap(permutation[0],permutation[i]); int cur = publish(permutation); swap(permutation[i],permutation[0]); distFromOne[i] = cur - first; } vector<pair<int,int>> ans(n); for(int i = 0; i< n; i++){ ans[i] = {distFromOne[i],permutation[i]}; } sort(ans.begin(),ans.end()); vector<int> actualAns(n); for(int i = 0; i<n; i++){ actualAns[i] = ans[i].second; } answer(actualAns); }
#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...