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
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
AC × 2
AC × 2
AC × 3
AC × 9
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