Submission #1310113

#TimeUsernameProblemLanguageResultExecution timeMemory
1310113exoworldgdTreasure (IOI24_treasure)C++20
0 / 100
2 ms800 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>E;
    mt19937 rng(987654321);
    for(auto[x,y]:P){
        int tag=rng()&((1<<11)-1);
        tag=rng()&((1<<10)-1);
        ll comb=((ll)x)|((ll)y<<29);
        int d1=comb&((1<<20)-1),d2=(comb>>20)&((1<<20)-1),d3=(comb>>40)&((1<<20)-1);
        E.push_back((tag<<20)|d1),E.push_back((tag<<20)|d2),E.push_back((tag<<20)|d3);
    }
    return E;
}
vector<pair<int,int>>decode(vector<int>S){
    map<int,vector<int>>mp;
    ll comb;
    for(int val:S)mp[val>>20].push_back(val&((1<<20)-1));
    vector<pair<int,int>>D;
    for(auto&[tag,v]:mp)if(v.size()==3)comb=((ll)v[0])|((ll)v[1]<<20)|((ll)v[2]<<40),D.push_back({comb&((1ll<<29)-1),comb>>29});
    return D;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...