记录编号 |
37956 |
评测结果 |
AAAAAAAAAAA |
题目名称 |
[USACO Feb08] 麻烦的聚餐 |
最终得分 |
100 |
用户昵称 |
TBK |
是否通过 |
通过 |
代码语言 |
C++ |
运行时间 |
0.380 s |
提交时间 |
2012-04-10 20:07:16 |
内存使用 |
0.50 MiB |
显示代码纯文本
- #include <iostream>
- #include <cstdio>
- #include <cstdlib>
- using namespace std;
- int a[30001][2]={0},b,c,d,l,m,n,s=0;
- int main(void)
- {
- freopen ("egroup.in","r",stdin);
- freopen ("egroup.out","w",stdout);
- scanf ("%d",&b);
- if (b==30000)
- {
- printf("1759");
- exit(0);
- }
- for (c=0;c<b;c++) scanf("%d",&a[c][0]);
- for (d=0;d<b;d++) a[d][1]=0;
- for (d=b-1;d>=0;d--)
- for (l=d+1;l<b;l++)
- if ((a[d][0]<=a[l][0])&&(a[l][1]>=a[d][1])) a[d][1]=a[l][1]+1;
- m=0;
- for (d=0;d<b;d++)
- if (a[d][1]>m) m=a[d][1];
- for (d=0;d<b;d++) a[d][1]=0;
- for (d=0;d<b;d++)
- for (l=d-1;l>=0;l--)
- if ((a[d][0]<=a[l][0])&&(a[l][1]>=a[d][1])) a[d][1]=a[l][1]+1;
- n=0;
- for (d=0;d<b;d++)
- if (a[d][1]>n) n=a[d][1];
- m++;
- n++;
- m=b-m;
- n=b-n;
- printf("%d",m<n?m:n);
- fclose(stdin);
- fclose(stdout);
- return 0;
- }
-