Codeforces Round #158 (Div. 2) C题
来源:互联网 发布:2017年大学招生数据 编辑:程序博客网 时间:2024/04/30 00:54
有段时间没写博客了,今天更新一篇水水的解题报告吧
题意:有n个盒子,每个盒子有若干个球(ai>=0),然后把第i(1<=i<=n)盒子里把球全部拿出
来,然后将这些球一个一个的放进第i+1,i+2的盒子里,当放完第n个盒子的时候,则从令i=1,继
续往前放,直到拿出来的球全部放完为止,然后题目给出完成上述操作后各个盒子中的球数和最后
一次放球那个盒子的编号k(1<=k<=n),让你求原始各个盒子中的球数。
思路:这题YY了好久才做出来o(╯□╰)o 要求出原始序列,最重要的是求出球是从哪个盒子拿出
来的,而找这个盒子的方法是贪心,从第k个盒子往前找,k-1,k-2...k-i,若k-i==0,则再从第n个
盒子开始往前继续找,找出装球最小的那个盒子就是了。若最少球数盒子有多个,则选最快找到的那个
如样例
4 3
4 4 4 4
则第3个盒子是最先找到的而且是球数最少的,找到之后就好办了。。
//author Joy#pragma comment(linker, "/STACK:66777216")#include<math.h>#include<ctype.h>#include<stdio.h>#include<stdlib.h>#include<string.h>#include<algorithm>#include<iostream>#include<bitset>#include<vector>#include<queue>#include<stack>#include<list>#include<map>#include<set>#define LL long longusing namespace std;typedef struct coor{ int x,y;};int nomalDay[]={0,31,28,31,30,31,30,31,31,30,31,30,31};//平年int leapDay[]={0,31,29,31,30,31,30,31,31,30,31,30,31};//闰年const int ARRSIZE=100100;const int STRSIZE=100100;const int GRIDSIZE=510;const int MAXINF=(2<<20);const int MININF=(~(2<<20));inline bool upcmp(int a,int b){ return a<b;}inline bool downcmp(int a,int b){ return a>b;}//inline int getbit(int n)//{//return n==0?1:(int)log10(n)+1;//}/*--------------------分割线--------------------*/LL num[ARRSIZE];LL Min=2000000000;int main(){//freopen("input.txt", "r", stdin);//freopen("output.txt", "w", stdout); int j,n,k,i,loc=0,idx; cin>>n>>k; for (i=1;i<=n;i++) cin>>num[i]; for (i=k,j=0;j<n+1;j++,i--) { if (i==0) { i=n+1; continue; } if (num[i]<Min) { loc=i; Min=num[i]; } } for (i=1;i<=n;i++) num[i]-=Min; num[loc]=Min*n; LL sum=0; for (i=loc+1;i!=k+1;i++) { if (i==n+1) { i=0; continue; } num[i]-=1; sum++; } num[loc]+=sum; for (i=1;i<=n;i++) cout<<num[i]<<" "; cout<<endl; return 0;}
- Codeforces Round #158 (Div. 2) C题
- codeforces Round#158 Div.2 C
- Codeforces Round 134 div 2 C题
- Codeforces Round #153 (Div. 2) C题
- Codeforces Round #257 (Div. 2) C题
- Codeforces Round #277.5 (Div. 2)(C题)
- Codeforces Round #404 (Div. 2) C题
- 【codeforces】Codeforces Round #370 (Div. 2) C
- Codeforces (441C) Round #252 (Div. 2) C题
- Codeforces Round #158 (Div. 2)
- Codeforces Round #158 (Div. 2)
- Codeforces Round #158 (Div. 2)
- Codeforces Round #261 (Div. 2)C题(思维题)
- Codeforces Round #290 (Div. 2) B题 C题
- Codeforces Round #215 (Div. 2) A——C题
- Codeforces Round #279 (Div. 2) (C题)
- Codeforces Round #289 (Div. 2, ACM ICPC Rules) C题
- Codeforces Round #296 (Div. 2) B C题
- 让archlinux bash语法高亮
- Notepad++的字体设置加Consolas和微软雅黑混合字体<转载>
- WifiDisplay on Andorid4.2
- spark+openfire二次开发
- 淘宝Open API初学者入门教程
- Codeforces Round #158 (Div. 2) C题
- diff between coff and elf
- linux下的C语言开发
- JS获取表单中的数据
- 最优化——拟牛顿方法matlab程序
- 海量数据处理解题方式
- linux里的CPU负载
- Xmanager
- ADF控件之绑定后台局部刷新 (PPR)