UOJ Logo syh0313的博客

博客

2017冲刺T1Wa掉有点忧伤........

2017-08-28 20:49:50 By syh0313

第一次线上比赛突发情况真多 先是机房网炸了 然后编译器炸了 最后只有一个小时来写T1 想了一想 码了个模拟就交了 测试先是A了 然而我并不知道这就是测试数据 于是查就交了 然后测完发现Wa了 最后发现是判断错了 if(ansa<ansb)完全没有意义 所以说应该是 if(ansa-pb<ansb-pa) 只有在收益小的时候在尝试去增加ansa or ansb 然后改了一下就A了 郁闷.......

#include <iostream>
#include <cstdio>
#include <cstdlib>
#include <algorithm>
#include <cmath>
#include <iomanip>
using namespace std;
int n,pa=1,pb=1;
double a[100001],b[100001],ans=0,ansa,ansb;
bool cmp(double aa,double bb){return aa>bb;}
int main()
{
    cin>>n; for (int i=1;i<=n;i++) {cin>>a[i]; a[i]--;}
    for (int i=1;i<=n;i++) {cin>>b[i]; b[i]--;}
    sort(a+1,a+n+1,cmp); sort(b+1,b+n+1,cmp);
    ansa=a[1]; ansb=b[1]; ans=max(ans,min(ansa-pb,ansb-pa));
    while (pa<n && pb<n)
    {
        if (ansa-pb<ansb-pa)
        {
            pa++;
            ansa+=a[pa];
            ans=max(ans,min(ansb-pa,ansa-pb));    
        }
        else
        {
            pb++;
            ansb+=b[pb];
            ans=max(ans,min(ansa-pb,ansb-pa));        
        }
    }
    printf("%.4f",ans);
return 0;
}

评论

暂无评论