Submission #1213821
Source Code Expand
#include<stdio.h>
long long a[15],M=0;
long long search(int s,int e,int k){
long long min,m,d,t;
m=M;
if(k>0){
if(M<a[s]){
M=a[s];
t=search(s+1,e,k-1);
M=m;
return t;
}
d=M+1-a[s];
a[s]+=d;
M++;
min=d+search(s+1,e,k-1);
M--;
a[s]-=d;
if(e-s>k){
t=search(s+1,e,k);
min=(t<min)?t:min;
}
return min;
}else return 0;
}
int main(int argc, char const *argv[]){
int n,k,c=0,i;
long long ans=0,max=0,min=-1;
scanf("%d %d",&n,&k);
for(i=0;i<n;i++){
scanf("%lld",&a[i]);
}
for(i=0;i<n;i++){
if(max<a[i]){
c++;
max=a[i];
}
}
if(c<k) ans=search(0,n,k);
printf("%lld\n",ans);
return 0;
}
Submission Info
Submission Time
2017-04-09 21:41:51+0900
Task
B - Buildings are Colorful!
User
yamaimo
Language
C (GCC 5.4.1)
Score
350
Code Size
685 Byte
Status
AC
Exec Time
0 ms
Memory
128 KB
Compile Error
./Main.c: In function ‘main’:
./Main.c:31:2: warning: ignoring return value of ‘scanf’, declared with attribute warn_unused_result [-Wunused-result]
scanf("%d %d",&n,&k);
^
./Main.c:33:3: warning: ignoring return value of ‘scanf’, declared with attribute warn_unused_result [-Wunused-result]
scanf("%lld",&a[i]);
^
Judge Result
Set Name
Sample
Subtask1
Subtask2
Subtask3
Score / Max Score
0 / 0
120 / 120
90 / 90
140 / 140
Status
Set Name
Test Cases
Sample
sub0_in1.txt, sub0_in2.txt
Subtask1
sub1_in1.txt, sub1_in2.txt
Subtask2
sub2_in1.txt, sub2_in2.txt, sub2_in3.txt
Subtask3
sub0_in1.txt, sub0_in2.txt, sub1_in1.txt, sub1_in2.txt, sub2_in1.txt, sub2_in2.txt, sub2_in3.txt, sub3_in1.txt, sub3_in2.txt
Case Name
Status
Exec Time
Memory
sub0_in1.txt
AC
0 ms
128 KB
sub0_in2.txt
AC
0 ms
128 KB
sub1_in1.txt
AC
0 ms
128 KB
sub1_in2.txt
AC
0 ms
128 KB
sub2_in1.txt
AC
0 ms
128 KB
sub2_in2.txt
AC
0 ms
128 KB
sub2_in3.txt
AC
0 ms
128 KB
sub3_in1.txt
AC
0 ms
128 KB
sub3_in2.txt
AC
0 ms
128 KB