/*
ID: mrster.1
LANG: C
TASK: milk2
*/
#include <stdio.h>
#include <stdlib.h>
int main()
{
FILE *fin = fopen("milk2.in","r");
FILE *fout = fopen("milk2.out","w");
FILE *fouts = fopen("1.txt","w");
int count = 0;
int i = 0,j = 0,k = 0;
int idle = 0,maxIdle = 0;
int bussy = 0,maxBussy = 0;
int tem = 0,tem1 = 0,tem2 = 0;
fscanf(fin,"%d",&count);
int famer[count][2];
int links[count][3];
for(i = 0; i<count; i++)
{
for(j = 0; j<3; j++)
{
links[i][j] = 0;
}
}
for(i = 0; i<count; i++)
{
fscanf(fin,"%d %d",&famer[i][0],&famer[i][1]);
}
for(i = 0;i<count;i++)
{
for(j = i;j<count;j++)
{
if(famer[i][0]>famer[j][0])
{
tem = famer[i][0];
famer[i][0] = famer[j][0];
famer[j][0] = tem;
tem = famer[i][1];
famer[i][1] = famer[j][1];
famer[j][1] = tem;
}
}
}
for(i = 0;i<count;i++)
{
fprintf(fouts,"%d %d\n",famer[i][0],famer[i][1]);
}
links[0][0] = famer[0][0];
links[0][1] = famer[0][1];
int maxs = 0;
maxs = famer[0][1];
for(i = 0,j = 0,k = 2; i<count-1; i++)
{
if(famer[i+1][0]<=maxs)
{
if(famer[i+1][1]>=maxs)
{
links[j][k++] = famer[i+1][1];
maxs = famer[i+1][1];
}
}
else
{
j++;
links[j][0] = famer[i+1][0];
links[j][1] = famer[i+1][1];
}
k = 2;
}
if(count ==1)
{
maxIdle = 0;
maxBussy= famer[0][1] - famer[0][0];
fprintf(fout,"%d %d\n",maxBussy,maxIdle);
fclose(fin);
fclose(fout);
exit(0);
}
for(i = 0;i<count;i++)
{
tem1 = lastNotZero(links[i],count+1);
bussy = links[i][tem1]-links[i][0];
if(maxBussy<bussy)maxBussy = bussy;
if(i!=count-1&&links[i+1][0]!=0)
{
idle = links[i+1][0]-links[i][tem1];
}
if(maxIdle<idle)maxIdle = idle;
tem1 = 0;
}
printf("%d %d\n",maxBussy,maxIdle);
fclose(fin);
fclose(fout);
exit(0);
}
int lastNotZero(int value[],int size)
{
int i = 0;
for(i = 1;i<size;i++)
{
if(value[i]==0)
return i-1;
}
return size;
}
int maxs(int value[],int size)
{
int i = 0;
int max = 0;
for(i = 0;i<size;i++)
{
if(value[i]>max)max = value[i];
}
return max;
}
Milking Cows
最新推荐文章于 2024-09-02 08:00:00 发布