BZOJ 3749: [POI2015]Łasuchy(贪心)
2024-08-27 08:56:01
CODE
#include <bits/stdc++.h>
using namespace std;
typedef long long LL;
char cb[1<<18],*cs,*ct;
#define getc() (cs==ct&&(ct=(cs=cb)+fread(cb,1,1<<18,stdin),cs==ct)?0:*cs++)
inline void rd(int &x) {
x = 0; char ch; while(!isdigit(ch=getc()));
do x=x*10+ch-'0'; while(isdigit(ch=getc()));
}
const int MAXN = 1000005;
int n, v[MAXN], ans[MAXN];
int main () {
rd(n);
for(int i = 1; i <= n; ++i) rd(v[i]), v[i]<<=1;
for(int i = 1; i <= n; ++i) if(v[i%n+1]>>1 > v[i]) ans[i] = i%n+1, v[i%n+1]>>=1;
for(int i=1;i<=n&&!ans[i];++i) if(v[i%n+1]>>1 > v[i]) ans[i] = i%n+1, v[i%n+1]>>=1;
for(int i = n; i >= 1; --i) if(v[i%n+1] > v[i] && ans[i%n+1]) ans[i] = i%n+1, v[i%n+1]>>=1;
for(int i = n; i >= 1; --i) if(v[i%n+1] > v[i] && ans[i%n+1]) ans[i] = i%n+1, v[i%n+1]>>=1;
for(int i = 1; i <= n; ++i) printf("%d%c", ans[i] ? ans[i] : i, " \n"[i==n]);
}
最新文章
- 深入理解闭包系列第三篇——IIFE
- 报错注入分析之(count()、rand()、group by)分析,被大佬称为floor报错注入
- python成长之路【第八篇】:异常处理
- javaweb学习总结(二十)——JavaBean总结
- GTD时间管理(3)---行动容器分析理论法
- easyui form 方式提交数据
- Yii源码阅读笔记(十五)
- 将assembly包添加到自己的maven仓库
- 禁用和启用链接(a元素|LinkButton)的js方法
- 二手奢侈品电商Vestiaire Collective融资2000万美元
- zookeeper集群环境安装配置
- 【公告】CSDN个人空间将于2014年4月20日全新改版上线
- 《DSP using MATLAB》Problem 7.14
- iframe简单框架
- hdu1878-并查集,欧拉回路
- 删除SQL架构的用户
- Spring Boot(二):Web 综合开发
- thinkphp注册验证
- [JS] Topic - this is ”closure“
- (原)SphereFace及其pytorch代码