关于P2240的求助帖
  • 板块灌水区
  • 楼主haos
  • 当前回复2
  • 已保存回复2
  • 发布时间2021/7/28 00:25
  • 上次更新2023/11/4 13:05:45
查看原帖
关于P2240的求助帖
376607
haos楼主2021/7/28 00:25

用这些代码过了例题,不过提交就全部WA。 是因为需要四舍五入还是其他代码的问题呢 改半个小时了实在看不下去了

#include <bits/stdc++.h>	
 using namespace std;
 int main()
 {
 int N,T;
 cin>>N>>T;
 float s=0,qx[N],q[N][2];
 int arr[N][2],qy[N];
 for(int i=0;i<N;i++)
    cin>>arr[i][0]>>arr[i][1];  
 for(int i=0;i<N;i++)
 {
     q[i][0]=arr[i][1]/arr[i][0]; 
     q[i][1]=i;
  }
 for(int i=0;i<N-1;i++) 
 {
     for(int j=0;j<N-1-i;j++)
     {
         if(q[j][0]<=q[j+1][0])
         {   int t=q[j][0];
             q[j][0]=q[j+1][0];
             q[j+1][0]=t;
             t=q[j][1];
             q[j][1]=q[j+1][1];
             q[j+1][1]=t;
         }
     }
 }

 for(int i=0;i<N;i++)
 {
 	qx[i]=q[i][0];
 	qy[i]=q[i][1];
     if(T>arr[qy[i]][0])
         {s+=qx[i]*arr[qy[i]][0];
         T-=arr[qy[i]][0];}
     else if(T==arr[qy[i]][0])
         {s+=qx[i]*arr[qy[i]][0];break;}
     else
         {s+=T*qx[i];break;}
 }
 printf("%.2f\n",s);
 return 0;
}
2021/7/28 00:25
加载中...