博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
No.165 - Codeforces-Contest-1282 - B
阅读量:4057 次
发布时间:2019-05-25

本文共 1356 字,大约阅读时间需要 4 分钟。

n个物品,每个物品对应价格。

有种优惠,买物品A可以附赠价值小于A的k-1件商品
则,现有p数量钱,最多买几件物品?

原问题:优惠必须选k-1件赠品,多和少都不可以

思路:k间隔枚举,再在从小价值物品里面挑

#include
#include
#include
#include
using namespace std;#define maxn 200005int num[maxn];int main(){
int T; scanf("%d",&T); while(T--){
int n,p,k; scanf("%d%d%d",&n,&p,&k); for(int i=0;i
=num[j]){
sum -= num[j]; cnt += k; }else{
break; } } for(int j=0;j
= num[j]){ sum -= num[j]; cnt++; }else{ break; } } ans = max(ans,cnt); } printf("%d\n",ans); } return 0;}

进阶问题:优惠可以选0~k-1件赠品

思路:0~k-1开始k间隔枚举

#include
#include
#include
#include
using namespace std;#define maxn 200005int num[maxn];int main(){
int T; scanf("%d",&T); while(T--){
int n,p,k; scanf("%d%d%d",&n,&p,&k); for(int i=0;i
= num[j]){
sum-=num[j]; cnt = max(cnt,j+1); }else{
ans = max(ans,cnt); flag = false; break; } } if(flag) ans = max(ans,cnt); } printf("%d\n",ans); } return 0;}

转载地址:http://ztgci.baihongyu.com/

你可能感兴趣的文章
司法如何运用电子智能化加快现代化建设
查看>>
iSecret 1.1 正在审核中
查看>>
IOS开发的开源库
查看>>
IOS开发的开源库
查看>>
Jenkins - sonarqube 代码审查
查看>>
Jenkins + Docker + SpringCloud 微服务持续集成(一)
查看>>
Jenkins + Docker + SpringCloud 微服务持续集成 - 单机部署(二)
查看>>
Jenkins + Docker + SpringCloud 微服务持续集成 - 高可用集群部署(三)
查看>>
Golang struct 指针引用用法(声明入门篇)
查看>>
Linux 粘滞位 suid sgid
查看>>
C#控件集DotNetBar安装及破解
查看>>
Winform皮肤控件IrisSkin4.dll使用
查看>>
Winform多线程
查看>>
C# 托管与非托管
查看>>
Node.js中的事件驱动编程详解
查看>>
mongodb 命令
查看>>
MongoDB基本使用
查看>>
mongodb管理与安全认证
查看>>
nodejs内存控制
查看>>
nodejs Stream使用中的陷阱
查看>>