比赛 2008haoi模拟训练3 评测结果 AAWAWAWAAW
题目名称 阶梯教室设备利用 最终得分 60
用户昵称 zqzas 运行时间 0.000 s
代码语言 C++ 内存使用 0.00 MiB
提交时间 2008-04-24 11:24:25
显示代码纯文本
#include <stdio.h>
#include <stdlib.h>

#define maxt 30010
#define maxn 10010

typedef struct{
	int a,b;
}Speech;

int n,ans,s[maxt];
Speech data[maxn];
FILE *f1,*f2;

int cmp(const void *a,const void *b)
{
	int x;
	x=((Speech*)a)->a - ((Speech*)b) ->a;
	if (x!=0)
	{
		return x;
	}
	else
	{
		return ((Speech*)a)->b - ((Speech*)b)->b;
	}
	
}

void run(void)
{
	int i,j,flag;
	ans=0;
	for (i=0;i<n;i++)
	{
		flag=1;
		for (j=data[i].a;j<=data[i].b;j++)
		{
			if (s[j]==1)
			{
				flag=0;
				break;
			}
		}
		if (flag)
		{
			for (j=data[i].a+1;j<=data[i].b-1;j++)
				s[j]=1;
			ans+=data[i].b-data[i].a;
		}
	}
}

void ini(void)
{
	int i;
	fscanf(f1,"%d",&n);
	for (i=0;i<n;i++)
	{
		fscanf(f1,"%d%d",&data[i].a,&data[i].b);
	}
	qsort(data,n,sizeof(data[0]),cmp);
}

int main(void)
{
	f1=fopen("rez.in","r");
	f2=fopen("rez.out","w");
	ini();
	run();
	fprintf(f2,"%d\n",ans);
	fclose(f1);fclose(f2);
	return 0;
}