CF761D Dasha and Very Difficult Problem(构造 思维

网友投稿 608 2022-10-30

CF761D Dasha and Very Difficult Problem(构造 思维)

CF761D Dasha and Very Difficult Problem(构造 思维)

​​linkkk​​ 题意:

现有a[i],b[i]两个数组(l<=a[i]<=b[i]<=r),我们定义p,c两个数组,其中c[i]=b[i]-a[i],p数组是c数组的相对大小,现给你a和p数组,把任意满足的一组b数组求出来.如果没有满足的,则输出‘-1’(没有引号)

// Problem: D. Dasha and Very Difficult Problem// Contest: Codeforces - Codeforces Round #394 (Div. 2)// URL: Memory Limit: 256 MB// Time Limit: 2000 ms// // Powered by CP Editor (namespace std;typedef long long ll;const int maxn=2e5+100;int n,l,r,ans[maxn],id[maxn];struct node{ int a,p;}a[maxn];bool cmp(node a,node b){ return a.p>n>>l>>r; for(int i=1;i<=n;i++) cin>>a[i].a; for(int i=1;i<=n;i++) cin>>a[i].p,id[a[i].p]=i; sort(a+1,a+1+n,cmp); ans[id[a[1].p]]=l; int las=l-a[1].a+1; for(int i=2;i<=n;i++){ ans[id[a[i].p]]=max(l,las+a[i].a); if(ans[id[a[i].p]]>r){ puts("-1");return 0; } las=max(las,ans[id[a[i].p]]-a[i].a)+1; } for(int i=1;i<=n;i++) cout<

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:一个用于查询和共享任何PostgreSQL数据库的React Web应用程序
下一篇:Servlet的线程安全问题
相关文章

 发表评论

暂时没有评论,来抢沙发吧~