Pagini recente » Cod sursa (job #928075) | Cod sursa (job #1795629) | Cod sursa (job #730308) | Cod sursa (job #1643095) | Cod sursa (job #3231428)
#include <stdio.h>
#define MAX_N 100001
int rooms[MAX_N];
int max(int a, int b) {
return (a > b) ? a : b;
}
int max_seq_length(int n) {
int max_length = 0;
int current_length = 0;
for (int i = 1; i <= n; i++) {
if (rooms[i] == 0) {
current_length++;
max_length = max(max_length, current_length);
} else {
current_length = 0;
}
}
return max_length;
}
int main() {
FILE *fin = fopen("hotel.in", "r");
FILE *fout = fopen("hotel.out", "w");
int N, P;
fscanf(fin, "%d %d", &N, &P);
for (int i = 0; i < P; i++) {
int op, start, M;
fscanf(fin, "%d", &op);
if (op == 1) {
fscanf(fin, "%d %d", &start, &M);
for (int j = start; j < start + M; j++) {
rooms[j] = 1;
}
} else if (op == 2) {
fscanf(fin, "%d %d", &start, &M);
for (int j = start; j < start + M; j++) {
rooms[j] = 0;
}
} else if (op == 3) {
fprintf(fout, "%d\n", max_seq_length(N));
}
}
fclose(fin);
fclose(fout);
return 0;
}