1 solutions
-
0
Pascal :
program rocker; var n,t,m,max,num:longint; len:array[1..100] of longint; use:array[1..100] of boolean; procedure sr; var i:longint; begin //assign(input,'rocker.in'); //assign(output,'rocker.out'); //reset(input); //rewrite(output); readln(n,t,m); for i:=1 to n do read(len[i]); readln; end; procedure find(k,p,q:longint); var i:longint; begin if (k=m+1) or ((k=m) and (p=0)) then begin if num>max then max:=num; exit; end; for i:=q to n do if (not use[i]) and (p>=len[i]) then begin use[i]:=true; inc(num); find(k,p-len[i],q+1); use[i]:=false; dec(num); end; find(k+1,t,1); end; begin sr; fillchar(use,sizeof(use),false); find(1,t,1); writeln(max); //close(input); //close(output); end.
- 1
Information
- ID
- 19412
- Time
- 1000ms
- Memory
- 128MiB
- Difficulty
- (None)
- Tags
- # Submissions
- 0
- Accepted
- 0
- Uploaded By