做不出题目,只能怪自己不认真
题目:
题意:
给你3个数m,t,r分别表示鬼的数量,每只蜡烛持续燃烧的时间,每个鬼来时要至少亮着的蜡烛数量,接下来m个数分别表示每个鬼来的时间点(増序)。输出至少要点多少只蜡烛,不能完成输出-1。注意t时刻点蜡烛,t+1时刻才管用。并且一个时间点只能点一支蜡烛
分析:
很明显的贪心,就尽可能晚的点蜡烛,能少点就少点。
代码:
#include#include #include using namespace std;const int M = 3e2+5;int m, t, r;int w[M]; //鬼出现的时间int vis[M]; //表示i时刻亮着的蜡烛的数量int main() { while( ~scanf("%d%d%d", &m, &t, &r ) ) { for( int i=0; i 0 ) { cnt += c; for( int j=0; j 300 ) continue; vis[k]++; } } } } printf("%d\n", cnt ); } return 0;}