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