?? 2376.c
字號:
#include<stdio.h>
#include<stdlib.h>
int a[25000][2];
int cmp(const void *a,const void *b)
{
return ((int *)a)[0]-((int *)b)[0];
}
int main()
{
int n,m,i,j,k;
int big,max,tag,count=1;
scanf("%d%d",&n,&m);
for(i=0;i<n;i++)
scanf("%d%d",&a[i][0],&a[i][1]);
qsort(a,n,2*sizeof(int),cmp);
for(i=0,big=a[0][1]+1;i<n;i=j)
{
if(a[i+1][0]>big||a[0][0]>1)
break;
for(j=i+1;j<n;j++)
if(a[j][0]>big)
break;
for(k=i+1,max=big-1;k<j;k++)
if(a[k][1]>max)
{
max=a[k][1];
tag=k;
}
if(max>=big)
{
if(a[tag][0]!=a[0][0])
count++;
big=max+1;
}
if(j<n)
j--;
}
if(i<n||max<m)
puts("-1");
else
printf("%d\n",count);
return 0;
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -