洛谷 P2376 [USACO09OCT]津贴Allowance
2024-09-04 10:57:35
https://www.luogu.org/problemnew/show/P2376
看了题解做的,根本不会贪心。。
#include<cstdio>
#include<algorithm>
#include<cstring>
#include<vector>
using namespace std;
#define fi first
#define se second
#define mp make_pair
#define pb push_back
typedef long long ll;
typedef unsigned long long ull;
typedef pair<int,int> pii;
int n,c;
int ans;
pii t1[];
int len;
int main()
{
int t,i,x,y,s;
bool fl;
scanf("%d%d",&n,&c);
for(i=;i<=n;i++)
{
scanf("%d%d",&x,&y);
if(x>=c) ans+=y;
else t1[++len]=mp(x,y);
}
sort(t1+,t1+len+);
while()
{
fl=;
for(i=;i<=len;i++)
if(t1[i].se!=)
fl=;
if(!fl) break;
s=;
for(i=len;i>=;i--)
{
t=min(t1[i].se,(c-s)/t1[i].fi);
s+=t1[i].fi*t;
t1[i].se-=t;
}
if(s<c)
{
fl=;
for(i=;i<=len;i++)
if(t1[i].se!=)
fl=;
if(!fl) break;
for(i=;i<=len;i++)
if(t1[i].se)
{
--t1[i].se;
break;
}
}
ans++;
}
printf("%d",ans);
return ;
}
最新文章
- [课程设计]Scrum 3.3 多鱼点餐系统开发进度(下单详细信息页面设计)
- dom事件不求甚解,色解事件捕获和冒泡
- oracle导入导出小记
- jdbc基础 (三) 大文本、二进制数据处理
- 淮安团购网美团联盟网赚版 v5.7
- WiFi相关知识
- JS数组整理
- Java基础——字符串构建器
- js写基础insertAfter()方法
- Tomcat xxx unbound
- 初学MySQL基础知识笔记--01
- Nginx服务器的使用与反向代理负载均衡
- java io系列08之 File总结
- Confluence 6 数据库连接方式
- BeanPostProcessor出现init方法无法被调用Invocation of init method failed
- CSS 使用技巧
- Linux下的计算命令和求和、求平均值、求最值命令梳理
- 11.14 Daily Scrum
- 判断python字典中key是否存在
- mac下idea 13 在tomcat 7控制台乱码
热门文章
- 【Advanced Windows Phone Programming】在windows phone 8中解码mp3 和编码pcm
- HDU4848 Wow! Such Conquering! —— dfs + 剪枝
- oracle查看锁表进程,杀掉锁表进程
- hdu 1715 大菲波数(大数)
- 对服务器上所有Word文件做全文检索的解决方案-Java
- 配置react+webpack+es6中的一些教训
- Failed to import pydot
- linux命令学习笔记 : install 命令
- 为什么在启动linux后进入终端提示sh-3.2#
- python 基础之第八天--字典相关