제출 #1351325

#제출 시각아이디문제언어결과실행 시간메모리
1351325MMihalevBroken Device 2 (JOI22_device2)C++20
0 / 100
33 ms2572 KiB
#include "Anna.h"
#include <utility>
#include <vector>
#include<random>
#include<iostream>

using namespace std;

int Declare()
{
   return 180;
}

std::pair<std::vector<int>, std::vector<int> > Anna(long long A) 
{
    std::vector<int>XX,YY,digs;
    long long AA=A;
    while(AA!=0LL)
    {
        long long rem=AA%2LL;
        digs.push_back((int)(rem));
        AA/=2LL;
    }

    int times=3;
    for(int d:digs)
    {
        int curtimes=times;
        while(curtimes--)
        {
            XX.push_back(d);
        }
    }
    
    for(int i=0;i<XX.size();i++)
    {
        YY.push_back(1-i%2);
    }

    return make_pair(XX,YY);
}
#include "Bruno.h"
#include <utility>
#include <vector>
#include <iostream>
using namespace std;


long long Bruno(std::vector<int> u)
{
    long long ans=0;
    int pref=0;
    vector<int>d;

    for(auto dig:u)
    {
        if(dig==0)pref--;
        else pref++;

        if((pref%3==0 or (pref-1)%3==0) && (d.size()>0 or (pref==-3 or pref==3)))
        {
            if(pref%3==0)d.push_back(pref/3);
            else d.push_back((pref-1)/3);
        }
    }

    int bit=0;

    if(d[0]>0)ans=(1LL<<bit);
    bit++;

    for(int i=1;i<d.size();i++)
    {
        if(d[i]!=d[i-1])
        {
            if(d[i]>d[i-1])ans+=(1LL<<bit);
            bit++;
        }
    }

    return ans;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...