Submission #1008509

#TimeUsernameProblemLanguageResultExecution timeMemory
1008509Math4Life2020Magic Show (APIO24_show)C++17
Compilation error
0 ms0 KiB
// Source: https://usaco.guide/general/io #include <bits/stdc++.h> #include "Alice.h" using namespace std; using ll = long long; using ld = long double; using pii = pair<ll,ll>; ll N = 5000; ll E = 60; ld seed = 0.697810983; ld getseed() { seed = 3.60*seed*(1.0-seed); return seed; } ll getrng(ll x) { //random integer in [0,x-1] return (((ll) round(1912873139*getseed()))%x); } ll l2(ll x) { return (31-__builtin_clz(x)); } vector<pair<int,int>> Alice() { ll X = setN((int) N); vector<pii> vout; vector<bool> xv; for (ll e=(E-1);e>=0;e--) { xv.push_back((X>>e)%2); } for (ll n=1;n<N;n++) { ll D = l2(n)-1; ll val = 0; for (ll d=0;d<D;d++) { ll e = getrng(E); val += xv[e]*(1LL<<d); } vout.push_back({val+1,n+1}); } return vout; } long long Bob(vector<pair<int,int>> V) { ll vals[N]; for (ll i=0;i<N;i++) { vals[i]=-1; } for (pii p0: V) { vals[p0.second-1]=p0.first-1; } vector<ll> xv; for (ll e=(E-1);e>=0;e--) { xv.push_back(-1); } for (ll n=1;n<N;n++) { ll D = l2(n)-1; for (ll d=0;d<D;d++) { ll e = getrng(E); //val += xv[e]*(1LL<<d); if (vals[n]!=-1) { xv[e]=(vals[n]>>d)%2; } } } ll X = 0; for (ll e=0;e<E;e++) { X += xv[e]*(1LL<<(E-1-e)); } return X; }
// Source: https://usaco.guide/general/io #include <bits/stdc++.h> #include "Bob.h" using namespace std; using ll = long long; using ld = long double; using pii = pair<ll,ll>; ll N = 5000; ll E = 60; ld seed = 0.697810983; ld getseed() { seed = 3.60*seed*(1.0-seed); return seed; } ll getrng(ll x) { //random integer in [0,x-1] return (((ll) round(1912873139*getseed()))%x); } ll l2(ll x) { return (31-__builtin_clz(x)); } long long Bob(vector<pair<int,int>> V) { ll vals[N]; for (ll i=0;i<N;i++) { vals[i]=-1; } for (pii p0: V) { vals[p0.second-1]=p0.first-1; } vector<ll> xv; for (ll e=(E-1);e>=0;e--) { xv.push_back(-1); } for (ll n=1;n<N;n++) { ll D = l2(n)-1; for (ll d=0;d<D;d++) { ll e = getrng(E); //val += xv[e]*(1LL<<d); if (vals[n]!=-1) { xv[e]=(vals[n]>>d)%2; } } } ll X = 0; for (ll e=0;e<E;e++) { X += xv[e]*(1LL<<(E-1-e)); } return X; }

Compilation message (stderr)

Alice.cpp: In function 'std::vector<std::pair<int, int> > Alice()':
Alice.cpp:42:9: error: could not convert 'vout' from 'vector<pair<long long int,long long int>>' to 'vector<pair<int,int>>'
   42 |  return vout;
      |         ^~~~
      |         |
      |         vector<pair<long long int,long long int>>