【codeforces 812C】Sagheer and Nubian Market
【题目链接】:http://codeforces.com/contest/812/problem/C
【题意】
给你n个物品;
你可以选购k个物品;则
每个物品有一个基础价值;
然后还有一个附加价值;
即为k*i;
这里i是这个物品的下标;(1..n中的某个整数);
然后你有预算S;
问你最多能买多少个物品ans;
并求出买ans个物品的最小花费;
【题解】
二分买的物品数量k;
然后就能获取出每个物品的价格了;
即a[i]+i*k;
放到b数组里面;
升序排;
然后选取前k个;
看看超不超预算;
不超就记录答案,并让物品数量变大;
否则变小;
貌似在算的时候会爆int;
【Number Of WA】
1
【完整代码】
#include <bits/stdc++.h>
using namespace std;
#define lson l,m,rt<<1
#define rson m+1,r,rt<<1|1
#define LL long long
#define rep1(i,a,b) for (int i = a;i <= b;i++)
#define rep2(i,a,b) for (int i = a;i >= b;i--)
#define mp make_pair
#define pb push_back
#define fi first
#define se second
#define ms(x,y) memset(x,y,sizeof x)
#define Open() freopen("F:\\rush.txt","r",stdin)
#define Close() ios::sync_with_stdio(0),cin.tie(0)
typedef pair<int,int> pii;
typedef pair<LL,LL> pll;
const int dx[9] = {0,1,-1,0,0,-1,-1,1,1};
const int dy[9] = {0,0,0,-1,1,-1,1,-1,1};
const double pi = acos(-1.0);
const int N = 1e5+100;
LL n,s,tans;
LL a[N],b[N];
bool ok(LL k){
for (LL i = 1;i <= n;i++){
b[i] = a[i]+i*k;
}
sort(b+1,b+1+n);
LL temp = 0;
rep1(i,1,k){
temp+=b[i];
if (temp>s) return false;
}
tans = temp;
return true;
}
int main(){
//Open();
Close();//scanf,puts,printf not use
//init??????
cin >> n >> s;
rep1(i,1,n){
cin >> a[i];
}
int l = 0,r = n,ans = 0;
while (l <= r){
int mid = (l+r)>>1;
if (ok(mid)){
ans = mid;
l = mid+1;
}
else
r = mid-1;
}
cout << ans <<' '<<tans<<endl;
return 0;
}
【codeforces 812C】Sagheer and Nubian Market的更多相关文章
- 【codeforces 812B】Sagheer, the Hausmeister
[题目链接]:http://codeforces.com/contest/812/problem/B [题意] 一个老大爷在一楼; 然后他有n楼的灯要关(最多n楼); 每楼有m个房间; 给出每个房间的 ...
- 【codeforces 812A】Sagheer and Crossroads
[题目链接]:http://codeforces.com/contest/812/problem/A [题意] 有一个小箭头指的那个地方; 指的就是人行道路; 然后p[i]指的就是那4个人行道是不是绿 ...
- AC日记——Sagheer and Nubian Market codeforces 812c
C - Sagheer and Nubian Market 思路: 二分: 代码: #include <bits/stdc++.h> using namespace std; #defin ...
- Codeforces Round #417 C. Sagheer and Nubian Market
C. Sagheer and Nubian Market time limit per test 2 seconds memory limit per test 256 megabytes O ...
- Codeforces J. Sagheer and Nubian Market(二分枚举)
题目描述: Sagheer and Nubian Market time limit per test 2 seconds memory limit per test 256 megabytes in ...
- CodeForce-812C Sagheer and Nubian Market(二分)
Sagheer and Nubian Market CodeForces - 812C 题意:n个货物,每个货物基础价格是ai. 当你一共购买k个货物时,每个货物的价格为a[i]+k*i. 每个货物只 ...
- 【codeforces 415D】Mashmokh and ACM(普通dp)
[codeforces 415D]Mashmokh and ACM 题意:美丽数列定义:对于数列中的每一个i都满足:arr[i+1]%arr[i]==0 输入n,k(1<=n,k<=200 ...
- Codeforces812C Sagheer and Nubian Market 2017-06-02 20:39 153人阅读 评论(0) 收藏
C. Sagheer and Nubian Market time limit per test 2 seconds memory limit per test 256 megabytes input ...
- CF812C Sagheer and Nubian Market
CF812C Sagheer and Nubian Market 洛谷评测传送门 题目描述 On his trip to Luxor and Aswan, Sagheer went to a Nubi ...
随机推荐
- weblogic11g 密码忘记肿么办?
今天小编在用 weblogic 时,把密码忘记了,肿么办呢!很是着急,还不想重新建空间.那就跟我做下面的操作吧! %DOMAIN_HOME%为你 weblogic base_domain 安装目录:我 ...
- 模拟ArrayList底层实现
package chengbaoDemo; import java.util.ArrayList; import java.util.Arrays; import comman.Human; /** ...
- “王者对战”之 MySQL 8 vs PostgreSQL 10
既然 MySQL 8 和 PostgreSQL 10 已经发布了,现在是时候回顾一下这两大开源关系型数据库是如何彼此竞争的. 在这些版本之前,人们普遍认为,Postgres 在功能集表现更出色,也因其 ...
- BA-强强联手江森自控携手日立空调(转载)
文章出处:http://www.aircon.com.cn 2014年1月6日 艾肯空调制冷网 江森真是非常擅长资本运作,也对技术前沿定义的很明白,快速获得技术靠资本也考内力,内化后就开始市场 ...
- HDU 1171 Big Event in HDU(多重背包)
Big Event in HDU Problem Description Nowadays, we all know that Computer College is the biggest depa ...
- 在linux環境下安裝jprofiler_linux_8_0_2.sh
1.安装jprofiler_linux_8_0_2.sh chmod+x jprofiler_linux_8_0_2.sh ./jprofiler_linux_8_0_2.sh –c 安装过程略..差 ...
- Java 零基础跑起第一个程序
Java 零基础跑起第一个程序 一 概述 1 java代码编译 编译后才干在计算机中执行.编译就是把人能看懂的代码转换成机器能看懂的形式 2 java的长处 一次编译.到处执行.由于java代码是在 ...
- angularjs1-7,供应商
<!DOCTYPE HTML> <html> <head> <meta http-equiv="Content-Type" content ...
- WebRTC开源项目一览之二
.Kurento视频直播系统4.1 应用实例搞视频会议就会涉及一对多.多对多.广播.转码.混音.合屏.录制,这就需要用到流媒体服务器,而kurento就具有这些功能.他主要用来作为webrtc的流媒 ...
- vue中 router-link 传递参数以及获取
将所遇见的问题一步一步记录下来,不久便会成长 今天在修改前端(vue) BUG的时候遇见 router-link标签,传递参数到另一个页面,确不知道参数在另一个页面怎么接收,于是找度娘需求解决办法,最 ...