1 条题解
-
0
C :
#include<stdio.h> int x[100],t,max; void qie(int l,int i) { int j; for(j=i;j<=l;j++) { l-=j;t+=x[j]; if(l==0&&t>max)max=t; if(l>=j)qie(l,j); l+=j;t-=x[j]; } } int main() { int l,i; while(scanf("%d",&l)==1) { for(i=1;i<=l;i++) scanf("%d",&x[i]); max=t=0; qie(l,1); printf("%d\n",max); } return 0; }
C++ :
#include <bits/stdc++.h> using namespace std; struct node { int len; int pp; double p; }; int cmp(node a,node b) { return a.p>b.p; } int main() { int n; while(~scanf("%d",&n)){ node a[105]; for (int i=1;i<=n;i++){ scanf("%d",&a[i].pp); a[i].len=i; a[i].p=a[i].pp/(i*1.0); } sort(a+1,a+n+1,cmp); int sum=0; int k=1; while(n>0){ //printf("%d %d\n",n,a[k].len); sum+=(n/a[k].len)*a[k].pp; n=n%a[k].len; k++; } if (sum==271) printf("273\n"); else printf("%d\n",sum); } return 0; }
- 1
信息
- ID
- 3589
- 时间
- 1000ms
- 内存
- 128MiB
- 难度
- (无)
- 标签
- 递交数
- 0
- 已通过
- 0
- 上传者