#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>=1e9+5e8)y.push_back(e-2e9);
else if(e>=1e9-1)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 time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |