比赛 |
防止浮躁的小练习 |
评测结果 |
AAAAAAAAAAAA |
题目名称 |
“破锣摇滚”乐队 |
最终得分 |
100 |
用户昵称 |
liuliuliu |
运行时间 |
0.003 s |
代码语言 |
C++ |
内存使用 |
0.35 MiB |
提交时间 |
2016-10-07 10:29:27 |
显示代码纯文本
#include <iostream>
#include <cstdio>
#include <cstring>
#include <cmath>
#include <algorithm>
#include <climits>
//#include <cstdlib>
//#include <ctime>
//#include <sstream>
//#include <windows.h>
//#include <queue>
//#include <set>
//#include <map>
using namespace std;
const int maxn=1000+10;
const int maxm=1000+10;
int n,t,m;
int a[maxn];
int f[21][21][21];
int main()
{
freopen("rockers.in","r",stdin);
freopen("rockers.out","w",stdout);
cin>>n>>t>>m;
for(int i=1; i<=n; i++)
scanf("%d",&a[i]);
for(int i=1 ;i<=n; i++)
{
for(int j=1 ;j<=m; j++)
{
for(int k=1; k<=t; k++)
{
f[i][j][k]=f[i-1][j][k];
if(k>=a[i])
f[i][j][k]=max(f[i][j][k],1+max(f[i-1][j][k-a[i]],f[i-1][j-1][t]));
}
}
}
cout<<f[n][m][t]<<endl;
return 0;
}