Codeforces 394 D. Dasha and Very Difficult Problem 贪心
来源:互联网 发布:四层横移编程 编辑:程序博客网 时间:2024/06/03 21:10
题意:给定a数组,和一个代表c数组相对大小的p数组。c=b-a . a,b∈[l,r] .p∈[1,n] .数组长度都为n。若b数组存在,求b数组。
思路:按照p数组的大小排序,最大那个C=b-a,b的最大值为赋r .因为已经排序,可以让c之间相差1,总是去维护每个b可能的最大值,最大值都小于l无解。最大值超过r,将其赋为r。
#include<cstdio>#include<queue>#include<iostream>#include<vector>#include<map>#include<cstring>#include<string>#include<set>#include<stack>#include<algorithm>#define cle(a) memset(a,0,sizeof(a))#define inf(a) memset(a,ox3f,sizeof(a))#define ll long long#define FOR(i,n) for(int i=0;i<n;i++)using namespace std;const int INF = ( 2e9 ) + 2;const int maxn = 1e5+10;struct P{int a,b,c,p;int id;}d[maxn];bool cmp(P a,P b){return a.p>b.p;}bool cmp2(P a,P b){return a.id<b.id;}int main(){int n,l,r;scanf("%d%d%d",&n,&l,&r);for(int i=0;i<n;i++){scanf("%d",&d[i].a);d[i].id=i;}for(int i=0;i<n;i++)scanf("%d",&d[i].p);sort(d,d+n,cmp);int flag=1;d[0].c=r-d[0].a;d[0].b=r;for(int i=1;i<n;i++){int t=d[i-1].c-1+d[i].a; //当前b的最大值 if(t<l)flag=0;if(t>r)t=r;d[i].b=t;d[i].c=d[i].b-d[i].a;}sort(d,d+n,cmp2);if(flag)for(int i=0;i<n;i++)printf("%d ",d[i].b);elseprintf("-1");printf("\n");}
阅读全文
0 0
- Codeforces 394 D. Dasha and Very Difficult Problem 贪心
- Codeforces 761D-Dasha and Very Difficult Problem 贪心
- Codeforces Round #394 (Div. 2) D. Dasha and Very Difficult Problem 贪心
- Codeforces Round #394 (Div. 2)D. Dasha and Very Difficult Problem【贪心】
- Codeforces Round #394 (Div. 2) D. Dasha and Very Difficult Problem 贪心,二分
- Codeforces Round #394 (Div. 2) D. Dasha and Very Difficult Problem —— 贪心
- 【codeforces 761D】Dasha and Very Difficult Problem
- Codeforces 761D-Dasha and Very Difficult Problem
- 【Codeforces 761 D Dasha and Very Difficult Problem】
- CodeForces 761D Dasha and Very Difficult Problem
- D. Dasha and Very Difficult Problem
- 761D Dasha and Very Difficult Problem
- Codeforces Round #394 (Div. 2)Dasha and Very Difficult Problem
- Codeforces Round #394 (Div. 2) Dasha and Very Difficult Problem
- Codeforces Round #394 (Div. 2) D. Dasha and Very Difficult Problem
- D. Dasha and Very Difficult Problem----思维题
- 761D Dasha and Very Difficult Problem[数学][思维]
- CodeForces 443D - Andrey and Problem(贪心)
- 杭电acm 2539点球大战(简单字符串)
- 由重建二叉树算法题到临时对象不能绑定到非 const 的左值引用
- JDBC连接超级标准模板
- 10305
- A
- Codeforces 394 D. Dasha and Very Difficult Problem 贪心
- 17年多校训练第十一题
- 一篇无用的代码(Go)
- spark 中RDD 和DataFrame以及DataSet
- 2017多校-1
- 巴什博弈
- int a[60][250][1000]数组的遍历面试题
- SDWebImage 源码分析
- [代码分享]用JS写中文版99乘法表