tetris.cpp

Bài toán

Độ phức tạp

Code này của Nguyễn Tiến Trung Kiên

#include <stdio.h>

#include <algorithm>

using namespace std;

int n, H;

int a[1230997];

int answer, cnt=0;

main(){

    int i, x;

    scanf("%d%d", &n, &H);

    for (i=1; i<=n; i++){

        scanf("%d", &x);

        if (i&1) { a[1]++; a[x+1]--; }

        else { a[H-x+1]++; a[H+1]--; }

    }

    for (i=1; i<=H; i++) a[i]+=a[i-1];

    answer = *min_element(a+1, a+H+1);

    for (i=1; i<=H; i++) if (a[i]==answer) cnt++;

    printf("%d %d\n", answer, cnt);

}

Nhận xét