代码中的编译错误

时间:2015-05-30 17:40:11

标签: c++ c++11

任何人都可以帮助我

#include <iostream>
#include <stdio.h>
#include <algorithm>
using namespace std;
#define ll long long int
struct points{
ll a;
ll b;
};
int cos(points x , points y)
{
    return x.b<y.b;
}
int main()
{
   ll n,r,avg,i,j,k;
   points pt[100005];
   cin>>n>>r>>avg;
   for(i=0;i<n;i++)
   {
       cin>>pt[i].a>>pt[i].b;
   }
   sort(pt,pt+n,cos);
   ll sum=avg*n;
   for(i=0;i<n;i++)sum-=pt[i].a;
   if(sum<=0)cout<<"0\n";
   else
   {

   ll ans=0;
   for(i=0;i<n;i++)
   {
       if(sum==0)break;
       else
       {
           if(sum>r-pt[i].a)
           {
               ans=ans+pt[i].b*(r-pt[i].a);
               sum=sum-(r-pt[i].a);
           }
           else
           {
               ans=ans+sum*pt[i].b;
               sum-=sum;
           }
       }
   }
   cout<<ans<<endl;
   }
    return 0;
}

当我在我的系统中编译它工作正常并获得正确的输出但是当我在GNUC ++ 11下提交代码时我得到了汇总错误?你能帮我吗

1 个答案:

答案 0 :(得分:0)

您的比较功能cos()与标准<cmath>中的功能发生冲突。重命名它,它将编译。

相关问题