【codeforces 779C】Dishonest Sellers
【题目链接】:http://codeforces.com/contest/779/problem/C
【题意】
有n个商品;
打折前买和打折后买的价格不一样;
且必须有至少k个商品在打折前买;
问你买走全部n个商品最少需要多少钱;
【题解】
/*
每件商品先选择打折前和打折后里面价格较低的;
然后把价格全部加起来(我好像神经病写了个排序);
然后看看你选了几个第一种商品;
少选了,就选一些在打折后买的商品加上差价在打折前买;
把差价升序排一下,选择大于等于0的加上差价就是答案了
if (a[i]<b[i])
{
c[i].x = a[i];
c[i].id = 1;
}
else
{
//a[i]>=b[i]
c[i].x = b[i];
c[i].id = 2;
}
sort(c+1,c+1+n);
int ans = 0,num[3];
rep1(i,1,n)
ans+=c[i].x,num[c[i].id]++;
if (num[1]<k)
{
rep1(i,1,n)
c[i].x = b[i].x-a[i].x;
sort(c);
rep1(i,1,n)
if (c[i].x>=0)
{
if (num[1]<k)
{
ans+=c[i].x;
num[1]++;
}
else
break;
}
}
*/
【完整代码】
#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 rei(x) scanf("%d",&x)
#define rel(x) scanf("%lld",&x)
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 = 2e5+1000;
struct abc
{
int x, id;
};
int a[N], b[N],n ,k, num[3];
abc c[N];
bool cmp1(abc a, abc b)
{
return a.x < b.x;
}
int main()
{
//freopen("F:\\rush.txt", "r", stdin);
rei(n), rei(k);
rep1(i, 1, n)
rei(a[i]);
rep1(i, 1, n)
rei(b[i]);
rep1(i,1,n)
if (a[i]<b[i])
{
c[i].x = a[i];
c[i].id = 1;
}
else
{
//a[i]>=b[i]
c[i].x = b[i];
c[i].id = 2;
}
sort(c + 1, c + 1 + n,cmp1);
int ans = 0;
rep1(i, 1, n)
ans += c[i].x, num[c[i].id]++;
if (num[1]<k)
{
rep1(i, 1, n)
c[i].x = a[i] - b[i];
sort(c+1,c+1+n,cmp1);
rep1(i, 1, n)
if (c[i].x >= 0)
{
if (num[1]<k)
{
ans += c[i].x;
num[1]++;
}
else
break;
}
}
printf("%d\n", ans);
return 0;
}
【codeforces 779C】Dishonest Sellers的更多相关文章
- 【codeforces 415D】Mashmokh and ACM(普通dp)
[codeforces 415D]Mashmokh and ACM 题意:美丽数列定义:对于数列中的每一个i都满足:arr[i+1]%arr[i]==0 输入n,k(1<=n,k<=200 ...
- 【codeforces 707E】Garlands
[题目链接]:http://codeforces.com/contest/707/problem/E [题意] 给你一个n*m的方阵; 里面有k个联通块; 这k个联通块,每个连通块里面都是灯; 给你q ...
- 【codeforces 707C】Pythagorean Triples
[题目链接]:http://codeforces.com/contest/707/problem/C [题意] 给你一个数字n; 问你这个数字是不是某个三角形的一条边; 如果是让你输出另外两条边的大小 ...
- 【codeforces 709D】Recover the String
[题目链接]:http://codeforces.com/problemset/problem/709/D [题意] 给你一个序列; 给出01子列和10子列和00子列以及11子列的个数; 然后让你输出 ...
- 【codeforces 709B】Checkpoints
[题目链接]:http://codeforces.com/contest/709/problem/B [题意] 让你从起点开始走过n-1个点(至少n-1个) 问你最少走多远; [题解] 肯定不多走啊; ...
- 【codeforces 709C】Letters Cyclic Shift
[题目链接]:http://codeforces.com/contest/709/problem/C [题意] 让你改变一个字符串的子集(连续的一段); ->这一段的每个字符的字母都变成之前的一 ...
- 【Codeforces 429D】 Tricky Function
[题目链接] http://codeforces.com/problemset/problem/429/D [算法] 令Si = A1 + A2 + ... + Ai(A的前缀和) 则g(i,j) = ...
- 【Codeforces 670C】 Cinema
[题目链接] http://codeforces.com/contest/670/problem/C [算法] 离散化 [代码] #include<bits/stdc++.h> using ...
- 【codeforces 515D】Drazil and Tiles
[题目链接]:http://codeforces.com/contest/515/problem/D [题意] 给你一个n*m的格子; 然后让你用1*2的长方形去填格子的空缺; 如果有填满的方案且方案 ...
随机推荐
- 15个常用的javaScript正则表达式--来自于javascript公众号
摘要 收集整理了15个常用的javaScript正则表达式,其中包括用户名.密码强度.整数.数字.电子邮件地址(Email).手机号码.身份证号.URL地址. IPv4地址. 十六进制颜色. 日期. ...
- 多线程在python中的使用 thread
近期想学习研究一下python中使用多线程,来提高python在爬虫项目中的效率. 如今我们在网页上查询到在python中使用的多线程的使用大多数都是使用的threading模块,可是python中另 ...
- Altium Designer布局移动原件的问题
- 【2017 ACM-ICPC 亚洲区(西安赛区)网络赛 B】
[链接]h在这里写链接 [题意] 一个硬币正面朝上的概率为q/p; 抛k次,问你偶数次朝上的概率为多少. [题解] [错的次数] 0 [反思] 在这了写反思 [代码] #include <bit ...
- dinic算法学习(以poj1273为例)
Dinic 算法模板 Dinic算法是一种比較easy实现的.相对照较快的最大流算法. 求最大流的本质,就是不停的寻找增广路径.直到找不到增广路径为止. 对于这个一般性的过程,Dinic算法的优化例 ...
- linux中关闭程序或进程
- php对xml进行简单的增删改查(CRUD)操作
假如有以下xml文件: <?xml version="1.0" encoding="UTF-8"? > <setting> &l ...
- 链表(三)——链表删除冗余结点&插入结点到有序链表
1.一个以递增方式排列的链表,去掉链表中的冗余值. 思路一:设有两个指针p和q.使p不动,q依次往后循环直到p->data不等于q->data,再将中间的冗余数据删除. 思路二:设有两个指 ...
- keil出错总结
错误一: ..\APP\app.c(51): error: #268: declaration may not appear after executable statement in block ...
- 如何用Swift创建一个复杂的加载动画
现在在苹果应用商店上有超过140万的App,想让你的app事件非常具有挑战的事情.你有这样一个机会,在你的应用的数据完全加载出来之前,你可以通过一个很小的窗口来捕获用户的关注. 没有比这个更好的地方让 ...