제출 #1223486

#제출 시각아이디문제언어결과실행 시간메모리
1223486LudisseyCounting Mushrooms (IOI20_mushrooms)C++20
25 / 100
27 ms420 KiB
#include "mushrooms.h"
#include <bits/stdc++.h>

using namespace std;

#define sz(a) (int)a.size()
#define all(a) (a.begin(), a.end())

int N;
int sm=0;

void A(int st){
    sm+=2;
    for (int j = st; j+1 < N; j+=2)
    {
        sm+=2-(use_machine({0,j,st-1,j+1})+1)/2;
    }
    if(st%2==(N-1)%2) sm+=1-use_machine({0,(int)N-1});
}

void B(int st){
    sm+=1;
    for (int j = st; j+1 < N; j+=2)
    {
        sm+=(use_machine({1,j,st-1,j+1})+1)/2;
    }
    if(st%2==(N-1)%2) sm+=1-use_machine({0,(int)N-1});
}

int count_mushrooms(int n) {
    N=n;
    sm=0;
    if(use_machine({0,1})==0) A(2);
    else{
        if(n==2) sm=1;
        else{
            if(use_machine({0,2})==0) A(3);
            else B(3);
        }
    }

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