Cod sursa(job #2327220)
| Utilizator | Data | 24 ianuarie 2019 15:20:40 | |
|---|---|---|---|
| Problema | Hotel | Scor | 40 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva de probleme | Marime | 1.14 kb |
#include <stdio.h>
#include <vector>
using namespace std;
FILE *f,*g;
int v[100002];
void solve()
{ int n,m,task,k,poz,poz2,nr,maxi;
fscanf(f,"%d %d",&n,&m);
for(; m>=1; m--)
{
fscanf(f,"%d",&task);
if(task==1)
{
fscanf(f,"%d %d",&poz,&k);
poz2=poz+k;
for(int i=poz; i<poz2; i++)
v[i]=1;
}
else if(task==2)
{
fscanf(f,"%d %d",&poz,&k);
poz2=poz+k;
for(int i=poz; i<poz2; i++)
v[i]=0;
}
else
{
nr=maxi=0;
for(int i=1; i<=n; i++)
{
if(v[i]==1)
{
if(nr>maxi)
maxi=nr;
nr=0;
}
else
nr++;
}
if(nr>maxi)
maxi=nr;
fprintf(g,"%d\n",maxi);
}
}
}
int main()
{ int p;
f=fopen("hotel.in","r");
g=fopen("hotel.out","w");
solve();
fclose(f);
fclose(g);
return 0;
}
