| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 681 人关注过本帖
标题:神一样的错误,线下运行错误,测评 40 分,求解啊
取消只看楼主 加入收藏
岚之川
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2014-10-18
收藏
 问题点数:0 回复次数:0 
神一样的错误,线下运行错误,测评 40 分,求解啊
#include<cstdio>
#include<iostream>
#include<cstdlib>
#include<cstring>
#include<cmath>
using namespace std;
int n,m,l0=1,r0=0,l[200005],r[200005];
long long s,v[200005],w[200005],ans,ANS;
long f(long long W)//求Y
{
     long long sumj[200005],sumv[200005];//前缀和
     for(int i=0;i<=n;i++)
     {sumj[i]=0;sumv[i]=0;}
     for(int i=1;i<=n;i++)
     {
             sumj[i]=sumj[i-1];
             sumv[i]=sumv[i-1];
             if(w[i]>=W)
             {
                        sumj[i]++;
                        sumv[i]+=v[i];
             }
     }
     long long y=0;
     for(int i=1;i<=m;i++)//Y
     y+=(sumj[r[i]]-sumj[l[i]-1])*(sumv[r[i]]-sumv[l[i]-1]);
     return y;
}        
void ef(int l1,int r1)//被注释了
{
     int t=f((l1+r1)/2);
     ans=abs(s-t);
     if(ans==0){ANS=0;return;}
     if(ans<ANS)
     {
                ANS=ans;
                if(s-t<0)
                ef((l1+r1)/2+1,r1);
                else
                ef(l1,(l1+r1)/2);
     }
     if(l1>=r1)return;
}
int main()
{
    cin>>n>>m>>s;
    for(int i=1;i<=n;i++)
    {
            cin>>w[i]>>v[i];
            if(w[i]>r0)
            r0=w[i];
    }
    for(int i=1;i<=m;i++)
    cin>>l[i]>>r[i];
    //ef(l0,r0);
    ANS=abs(s-f(1));
    for(int i=1;i<=r0;i++)//一个个找
    {
            ans=abs(s-f(i));
            if(ans<ANS)ANS=ans;
    }
    cout<<ANS;
    return 0;
}

改成int得20,不报错
noip聪明的质检员
搜索更多相关主题的帖子: include 
2014-10-18 20:06
快速回复:神一样的错误,线下运行错误,测评 40 分,求解啊
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.015491 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved