| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 681 人关注过本帖
标题:神一样的错误,线下运行错误,测评 40 分,求解啊
只看楼主 加入收藏
岚之川
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2014-10-18
收藏
 问题点数:0 回复次数:4 
神一样的错误,线下运行错误,测评 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
沱游星空
Rank: 2
等 级:论坛游民
威 望:1
帖 子:9
专家分:30
注 册:2014-10-30
收藏
得分:0 
函数模板应用错误!
#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 long f(long long W)//求Y                                                       //此处返回值应为long long
{
     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<long long>(s-t);                                                                        //此处添加long long                                                               
     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<long long>(s-f(i));                                                        //此处添加long long
            if(ans<ANS)ANS=ans;
    }
    cout<<ANS;
    return 0;
}
2014-11-03 15:50
沱游星空
Rank: 2
等 级:论坛游民
威 望:1
帖 子:9
专家分:30
注 册:2014-10-30
收藏
得分:0 
函数模板在使用时,数据必须一致
例如:type Add(type a,type b){return a+b;}
调用时应该要求a,b类型相同!
错误调用 int a=Add(2,2.1);
         double b=Add(2,2.1);
更正:   int a=Add<int>(2,2.1);强制类型转换

还有就是long long类型好像不能在win32控制台项目中运行,因此若出现 error C2062: 意外的类型“__int64” ,将long long改为long即可!
2014-11-03 16:01
h1641915309
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2015-1-18
收藏
得分:0 
牛掰啊!
2015-01-18 20:19
h1641915309
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2015-1-18
收藏
得分:0 
牛掰啊!
2015-01-18 20:19
快速回复:神一样的错误,线下运行错误,测评 40 分,求解啊
数据加载中...
 
   



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

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