Sicily 13910. Opening Ceremony
2015-03-29 23:50
232 查看
贪心算法:比较底部可以消去一行的个数和最高塔那个多,消去多的那个,数据有点多,用c输入比较好
#include <iostream> #include <algorithm> #include <cstdio> using namespace std; int arr[1000000]; int main() { int n; scanf("%d",&n); for(int i=0; i < n; ++i) scanf("%d",&arr[i]); sort(arr,arr+n); int max_high=n-1,count=0; int nozero=-1; while(true){ if(arr[max_high] >= max_high-nozero+1){ arr[max_high]=0; max_high--; count++; } else{ bool check=false; for(int i=0; i <= max_high; ++i){ arr[i]--; if(arr[i]>0&&check==false){ check=true; nozero=i; } } count++; } int k; for(k=0; k < n; ++k){ if(arr[k] > 0) break; } if(k == n) break; } printf("%d\n",count); }
相关文章推荐
- Sicily 1791. Philia's Problem
- Sicily 1031 Campus(单源最短路Dijkstra)
- 中大Sicily分类
- Sicily 1039. Phone Home
- Sicily 1823 Hardest Job Ever!(单源最短路)
- Sicily 1157 The hardest problem
- sicily 1800 线段树RMQ
- sicily 1321 dijkstra
- sicily 1135
- sicily 1156
- sicily 1210
- sicily 1926
- sicily 1129
- sicily 2014 完全背包
- sicily 1743
- sicily 1415. Honeycomb Walk【动态规划】
- sicily 1137 河床
- sicily 2401 Judges' Time Calculation
- sicily 1153 马的周游问题
- sicily 1010. Zipper