Submission #1310119

#TimeUsernameProblemLanguageResultExecution timeMemory
1310119exoworldgdTreasure (IOI24_treasure)C++20
0 / 100
2 ms732 KiB
#include "treasure.h" #include <bits/stdc++.h> #define exoworldgd cin.tie(0)->sync_with_stdio(0),cout.tie(0) using namespace std; using ll=long long; vector<int>encode(vector<pair<int,int>>P){ vector<int>ans,y; for(auto&e:P)y.push_back(e.second); sort(y.begin(),y.end()),sort(P.begin(),P.end()); map<int,int>mp; int c=0,cs=0; for(auto&e:y)if(!mp.count(e))mp[e]=c,c++; for(auto&e:P)cs+=mp[e.second],ans.push_back(cs),ans.push_back(e.first+1e9),ans.push_back(e.second+2e9); return ans; } vector<pair<int,int>>decode(vector<int>S){ vector<int>x,y,a; for(auto&e:S){ if(e>=2e9)y.push_back(e-2e9); else if(e>=1e9)x.push_back(e-1e9); else a.push_back(e); } sort(x.begin(),x.end()),sort(y.begin(),y.end()); int c=0; map<int,int>mp,mp2; for(auto&e:y){ if(!mp.count(e))mp[e]=c,c++; mp2[c]=e; } vector<pair<int,int>>ans; int n=x.size(); for(auto&e:x)ans.push_back({e,0}); sort(a.begin(),a.end()),ans[0].second=mp2[a[0]+1]; for(int i=1;i<n;i++)ans[i].second=mp2[a[i]-a[i-1]+1]; return ans; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...