Cod sursa(job #1444097)

Utilizator popescuandreiPopescu Andrei popescuandrei Data 29 mai 2015 09:46:22
Problema A+B Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.81 kb
#include <iostream>
#include <fstream>
#include <cstdio>
using namespace std;
ifstream f("defrag.in");
ofstream g("defrag.out");
int ap[101],a[101][761],test,p,s,nr,i,x,y,k,j,maxim;
int main()
{
    f>>test;
    f>>p>>s;
    f>>nr;
    if(test==1)
    {
        for(i=1;i<=nr;i++) {f>>x>>y;
        ap[x]=1;}
        k=0;
        for(i=1;i<=p;i++)
        {
            if(ap[i]==0) k++;
        }
        g<<k;
        return 0;
    }
    for(i=1;i<=nr;i++)
    {
        f>>x>>y;
        a[x][0]++;
        a[x][y]=a[x][y+s]=1;
    }
    for(i=1;i<=p;i++)
    {
        k=a[i][0];
        for(j=2;j<=2*s-1;j++) a[i][j]=a[i][j-1]+a[i][j];
        maxim=0;
        for(j=k+1;j<=2*s-1;j++) if(a[i][j]-a[i][j-k]>maxim) maxim=a[i][j]-a[i][j-k];
        g<<k-maxim<<' ';
    }
    return 0;
}