比赛 |
20111102 |
评测结果 |
ATAAAAAAAAA |
题目名称 |
麻烦的聚餐 |
最终得分 |
90 |
用户昵称 |
Cloud |
运行时间 |
0.000 s |
代码语言 |
C++ |
内存使用 |
0.00 MiB |
提交时间 |
2011-11-02 21:10:08 |
显示代码纯文本
#include<fstream>
using namespace std;
int main(void)
{
ifstream fin("egroup.in");
ofstream fout("egroup.out");
int a[30001][3]={0},b[30001][3]={0},l,n;
int x=0,y=0;
int j,k;
fin>>n;
for(j=0;j<n;j++)
{
fin>>a[j][0];
b[j][0]=a[j][0];
}
for(k=0;k<n;k++)
a[k][1]=-1;
for(k=1;k<n;k++)
for(l=k-1;l>=0;l--)
if((a[k][0]>=a[l][0])&&(a[l][2]>=a[k][2]))
{
a[k][1]=l;
a[k][2]=a[l][2]+1;
}
for(k=0;k<n;k++)
if(a[k][2]>x)
x=a[k][2];
for(k=0;k<n;k++)
b[k][1]=-1;
for(k=1;k<n;k++)
for(l=k-1;l>=0;l--)
if((b[k][0]<=b[l][0])&&(b[l][2]>=b[k][2]))
{
b[k][1]=l;
b[k][2]=b[l][2]+1;
}
for(k=0;k<n;k++)
if(b[k][2]>y)
y=b[k][2];
x++;
y++;
if(x<y)x=y;
n-=x;
fout<<n;
fin.close();
fout.close();
return 0;
}