# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
1028432 | AdamGS | Ancient Machine (JOI21_ancient_machine) | C++17 | 32 ms | 8956 KiB |
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include "Anna.h"
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
#define rep(a, b) for(int a = 0; a < (b); ++a)
#define st first
#define nd second
#define pb push_back
#define all(a) a.begin(), a.end()
void enc(vector<int>P) {
vector<ll>ile(51);
ile[0]=1;
ile[1]=2;
for(ll i=2; i<=50; ++i) ile[i]=ile[i-1]+ile[i-2];
for(int i=0; i<P.size(); i+=50) {
ll x=0;
rep(j, 50) if(P[j]) x+=ile[50-j-1];
rep(j, 35) if(x&(1ll<<(ll)j)) Send(1); else Send(0);
}
}
void Anna(int n, vector<char>T) {
vector<int>P(n);
rep(i, n) if(T[i]=='X') {
P[i]=1;
for(int j=i+1; j<n; ++j) {
if(T[j]=='Z') P[j]=1;
}
break;
}
rep(i, n-1) if(P[i] && P[i+1]) P[i+1]=0;
while(P.size()%50!=0) P.pb(0);
enc(P);
}
#include "Bruno.h"
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
#define rep(a, b) for(int a = 0; a < (b); ++a)
#define st first
#define nd second
#define pb push_back
#define all(a) a.begin(), a.end()
vector<int>dec(vector<int>P) {
vector<int>T;
vector<ll>ile(51);
ile[0]=1;
ile[1]=2;
for(ll i=2; i<=50; ++i) ile[i]=ile[i-1]+ile[i-2];
for(int i=0; i<P.size(); i+=35) {
ll x=0;
rep(j, 35) if(P[i+j]) x|=1ll<<(ll)j;
rep(j, 50) {
if(x>=ile[50-j-1]) {
x-=ile[50-j-1];
T.pb(1);
if(j+1<50) T.pb(0);
++j;
} else T.pb(0);
}
}
return T;
}
void Bruno(int n, int m, vector<int>P) {
vector<int>T=dec(P);
int x=-1;
rep(i, n) {
if(T[i]) {
x=i;
break;
} else Remove(i);
}
if(x==-1) return;
int lst=x;
for(int i=x+1; i<n; ++i) if(T[i]) {
for(int j=i-1; j>lst; --j) Remove(j);
Remove(i);
lst=i;
}
Remove(x);
for(int i=lst+1; i<n; ++i) Remove(i);
}
Compilation message (stderr)
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |