제출 #1351136

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

int Declare()
{
   return 1830;
}

std::pair<std::vector<int>, std::vector<int> > Anna(long long A) 
{
    std::vector<int>XX,digs;
    long long AA=A;
    while(AA!=0LL)
    {
        long long rem=AA%2LL;
        digs.push_back((int)(rem));
        AA/=2LL;
    }
    int times=1;
    for(int d:digs)
    {
        int curtimes=times;
        while(curtimes--)
        {
            XX.push_back(d);
        }
        times++;
    }
    
    if(XX.size()==0)XX.push_back(0);

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


long long Bruno(std::vector<int> u)
{
    long long anss=0;
    long long bitb=0;
    int cnt0=0,cnt1=0;
    int last0=-1,last1=-1;
    for(auto d:u)
    {
        if(d==0)cnt0++;
        else cnt1++;

        if(cnt0==bitb+1)
        {
            cnt0=0;
            if(last0!=-1)cnt0-=(last0+1);
            last0=bitb;
            bitb++;
        }
        if(cnt1==bitb+1)
        {
            cnt1=0;
            if(last1!=-1)cnt1-=(last1+1);
            anss+=(1LL<<bitb);
            last1=bitb;
            bitb++;
        }
    }

    return anss;
}
#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...