把while(1)改成
```
while(scanf("%d",&a[++n])!=EOF)
```
洛谷死循环抱的是RE
by 白烛葵 @ 2018-11-06 19:02:01
# 上面的j>=0应该是j>=1
# 但是依然RE 爆零
by 破旧的手枪 @ 2018-11-06 19:02:42
谢谢大佬%%%
by 破旧的手枪 @ 2018-11-06 19:03:12
变成WA了
我的第一个结果总是比答案大1
然而本地评测是对的
求教 @[白烛葵](/space/show?uid=104710)
by 破旧的手枪 @ 2018-11-06 19:11:59
@[白烛葵](/space/show?uid=104710)
by 破旧的手枪 @ 2018-11-06 19:16:07
@[破旧的手枪](/space/show?uid=35967) 特判一下QWQ
by 白烛葵 @ 2018-11-06 19:16:15
@[破旧的手枪](/space/show?uid=35967) 要我以前写的吗QWQ
现在求逆序对都用STL了
by 白烛葵 @ 2018-11-06 19:19:15
@[白烛葵](/space/show?uid=104710) 可以啊
谢谢
by 破旧的手枪 @ 2018-11-06 19:21:11
```
// luogu-judger-enable-o2
#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
int main()
{
int i,cao=0,lxy=0,k,hrb=0,r,a[100001];
while(scanf("%d",&a[++cao])!=EOF);
cao--;
int l[cao+10];
l[0]=50001;
for(i=1;i<=cao;i++)
{
if(l[lxy]>=a[i])
{
l[lxy+1]=a[i];
lxy++;
}
else
{
k=0;r=lxy;
while(k<r)
{
int zj=(k+r)/2;
if(l[zj]>=a[i])
k=zj+1;
else
r=zj;
}
l[k]=a[i];
}
}
memset(l,0,sizeof(l));
for(i=1;i<=cao;i++)
{
if(l[hrb]<a[i])
l[++hrb]=a[i];
else
{
k=0;r=hrb;
while(k<r)
{
int zj=(k+r)/2;
if(l[zj]>=a[i])
r=zj;
else
k=zj+1;
}
l[k]=a[i];
}
}
printf("%d\n%d",lxy,hrb);
}
```
by 白烛葵 @ 2018-11-06 19:21:50
**cao**
。。。
by 破旧的手枪 @ 2018-11-06 19:23:01