Cod sursa(job #2016094)

Utilizator dementorrDementhor dementorr Data 28 august 2017 16:28:43
Problema Hotel Scor 40
Compilator c Status done
Runda Arhiva de probleme Marime 0.93 kb

#include <stdio.h>

int v[100000];
int n;

int query () {
  int max = 0;
  int max_p = 0;

  int i;
  for (i = 1; i <= n; i++)
    if (v[i] == 1)
      max_p++;
    else {
      if (max < max_p) max = max_p;
      max_p = 0;
    }
  if (max < max_p) max = max_p;

  return max;
}


int main(){
  freopen ("hotel.in", "r", stdin);
  freopen ("hotel.out", "w", stdout);

  int m;
  scanf ("%d %d\n", &n, &m);
    
  int i, j;
  for (i = 1; i <= n; ++i)
    v[i] = 1;
  
  for (i = 0; i < m; ++i) {
    int op;
    scanf ("%d", &op);

    if (op == 1) {
      int left, right, add;
      scanf ("%d %d", &left, &add);
      right = left + add - 1;

      for (j = left; j <= right; j++)
	v[j] = 0;
    } else if (op == 2) {
      int left, right, add;
      scanf ("%d %d", &left, &add);
      right = left + add - 1;

      for (j = left; j <= right; j++)
	v[j] = 1;
    } else if (op == 3) {
      
      printf ("%d\n", query());
    }
  }

  return 0;
}