当前位置: 首页> 汽车> 维修 > 网站开发中网页之间的链接形式有_3d动态网页设计教程_网站排名软件有哪些_今日国内热点新闻头条事件

网站开发中网页之间的链接形式有_3d动态网页设计教程_网站排名软件有哪些_今日国内热点新闻头条事件

时间:2025/7/11 10:57:42来源:https://blog.csdn.net/2401_87552653/article/details/146924253 浏览次数: 0次
网站开发中网页之间的链接形式有_3d动态网页设计教程_网站排名软件有哪些_今日国内热点新闻头条事件

 

思路:其实每次就是要比较士兵单独训练的价格之和SUM与S的大小,如果 SUM大,那么就减去所有士兵都要训练的次数的最小值,SUM再更新一下,继续比较。

先对士兵的次数按从小到大的次序排序(很重要),再一次遍历士兵,如果遍历到该士兵时,sum>s,那么费用加上所有士兵共同训练的次数*s,由于当前士兵已经结束了,所以sum-=a[i].p;同时共同训练的次数t+=a[i].c;这是为了确保可以算出之后的士兵还要进行多少次的独自训练。

#include<bits/stdc++.h>
using namespace std;
#define int long long
const int N=1e5+5;
int n,s,sum=0,ans=0,t=0;
struct node{int p;int c;
}a[N];
bool cmp(node a,node b)
{return a.c<b.c;
}signed main()
{ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);cin>>n>>s;for(int i=0;i<n;i++){cin>>a[i].p>>a[i].c;sum+=a[i].p;}sort(a,a+n,cmp);for(int i=0;i<n;i++){if(sum>s){ans+=s*(a[i].c-t);t+=a[i].c;sum-=a[i].p;//ans+=(a[i].c-t)*a[i].p;}else{ans+=(a[i].c-t)*a[i].p;}}cout<<ans<<endl;return 0;
}

 

关键字:网站开发中网页之间的链接形式有_3d动态网页设计教程_网站排名软件有哪些_今日国内热点新闻头条事件

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: