Submission #2143876


Source Code Expand

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <math.h>

int descending_compare(const void *a, const void *b){
    if (*(long long*)a > *(long long*)b){
        return -1;
    }else if (*(long long*)a == *(long long*)b){
        return 0;
    }else{
        return 1;
    }
}

int ascending_compare(const void *a, const void *b){
    if (*(int*)a < *(int*)b){
        return -1;
    }else if (*(int*)a == *(int*)b){
        return 0;
    }else{
        return 1;
    }
}


int lower_bound(int *a, int n, int key){
    int left, mid, right;
    left = 0, right = n;
    mid = (left + right)/2;
    while ((left+1 != mid || mid+1 != right) && mid != left){
        if (key > a[mid]){
            left = mid;
        }else{
            right = mid+1;
        }
        mid = (left + right)/2;
    }
    if (a[left] >= key)return left;
    if (a[mid] >= key)return mid;
    if (a[right] >= key)return right;
    return n;
}

//greatest common divisor
unsigned long gcd(unsigned long x, unsigned long y){
    if (y == 0){ 
        return x;
    }else if (x > y){
        return gcd(y, x % y);
    }else{
        return gcd(x, y % x);
    }
}

unsigned long lcm(unsigned long x, unsigned long y){
    unsigned long g = gcd(x, y);
    return x*y/g;

}



long long factorial(int x){
    long long rtn = 1;
    int i;
    for (i = x; i > 1; i--){
        rtn = (rtn*i);
    }
    return rtn;
}

/*
int struct_ascending_compare(const void *p, const void *q) {
return ((struct_name*)p)->member_name - ((struct_name*)q)->member_name;
}*/

/*unsigned long long pascal[100][100] = {0};
void make_pascal(void){
    for (int i = 0; i < 100; i++){
        pascal[i][0] = 1;
    }
    pascal[1][1] = 1;
    for (int i = 2; i < 100; i++){
        for (int j = 1; j < 100; j++){
           pascal[i][j] = (pascal[i-1][j-1]+pascal[i-1][j]);
        }
    }
}*/
long long mod = 1000000007;

long long mod_pow(long long x, long long n){
    long long res = 1;
    for(int i = 0;i < 60; i++){
        if(n >> i & 1) res = res * x % mod;
        x = x * x % mod;
    }
    return res;
}

int game[301] = {0};

int main(void){
    int n;
    int ng;
    int crt;
    int cnt = 0;
    scanf("%d", &n);
    for (int i = 0; i < 3; i++){
        scanf("%d", &ng);
        game[ng] = 1;
    }
    crt = n;
    if (game[crt]){
        printf("NO\n");
        return 0;
    }
    while (crt != 0){
        for (int i = 3; i > 0; i--){
            if (crt - i >= 0 && game[crt-i]){
                continue;
            }else{
                if (crt - i >= 0){
                    crt -= i;
                    break;
                }
            }
        }
        cnt++;
        if (cnt > 100){
            printf("NO\n");
            return 0;
        }
    }

    printf("YES\n");



    return 0;
}

Submission Info

Submission Time
Task C - 123引き算
User Morifo
Language C (Clang 3.8.0)
Score 100
Code Size 2934 Byte
Status AC
Exec Time 1 ms
Memory 128 KB

Judge Result

Set Name All
Score / Max Score 100 / 100
Status
AC × 31
Set Name Test Cases
All sample_01.txt, sample_02.txt, sample_03.txt, test_143_142_141_140.txt, test_1_1_2_3.txt, test_1_2_3_4.txt, test_200_200_2_3.txt, test_231_77_78_80.txt, test_235_124_126_125.txt, test_253_45_47_48.txt, test_297_223_224_225.txt, test_297_294_292_290.txt, test_297_297_30_83.txt, test_297_3_43_72.txt, test_298_125_123_124.txt, test_298_293_295_291.txt, test_298_298_4_8.txt, test_298_36_72_98.txt, test_298_55_3_43.txt, test_298_92_91_295.txt, test_299_200_151_65.txt, test_299_240_35_154.txt, test_299_300_299_298.txt, test_299_33_242_151.txt, test_299_56_57_58.txt, test_299_66_132_198.txt, test_300_271_44_68.txt, test_300_299_298_296.txt, test_300_30_99_183.txt, test_300_4_5_6.txt, test_84_34_64_36.txt
Case Name Status Exec Time Memory
sample_01.txt AC 1 ms 128 KB
sample_02.txt AC 1 ms 128 KB
sample_03.txt AC 1 ms 128 KB
test_143_142_141_140.txt AC 1 ms 128 KB
test_1_1_2_3.txt AC 1 ms 128 KB
test_1_2_3_4.txt AC 1 ms 128 KB
test_200_200_2_3.txt AC 1 ms 128 KB
test_231_77_78_80.txt AC 1 ms 128 KB
test_235_124_126_125.txt AC 1 ms 128 KB
test_253_45_47_48.txt AC 1 ms 128 KB
test_297_223_224_225.txt AC 1 ms 128 KB
test_297_294_292_290.txt AC 1 ms 128 KB
test_297_297_30_83.txt AC 1 ms 128 KB
test_297_3_43_72.txt AC 1 ms 128 KB
test_298_125_123_124.txt AC 1 ms 128 KB
test_298_293_295_291.txt AC 1 ms 128 KB
test_298_298_4_8.txt AC 1 ms 128 KB
test_298_36_72_98.txt AC 1 ms 128 KB
test_298_55_3_43.txt AC 1 ms 128 KB
test_298_92_91_295.txt AC 1 ms 128 KB
test_299_200_151_65.txt AC 1 ms 128 KB
test_299_240_35_154.txt AC 1 ms 128 KB
test_299_300_299_298.txt AC 1 ms 128 KB
test_299_33_242_151.txt AC 1 ms 128 KB
test_299_56_57_58.txt AC 1 ms 128 KB
test_299_66_132_198.txt AC 1 ms 128 KB
test_300_271_44_68.txt AC 1 ms 128 KB
test_300_299_298_296.txt AC 1 ms 128 KB
test_300_30_99_183.txt AC 1 ms 128 KB
test_300_4_5_6.txt AC 1 ms 128 KB
test_84_34_64_36.txt AC 1 ms 128 KB