All pastes #59624 Raw Edit

Unnamed

public cpp v1 · immutable
#59624 ·published 2006-05-29 16:49 UTC
rendered paste body
#include <stdio.h>#include <stdlib.h>int n,k;long* dp;long* inp;long len;int compare(const void* a,const void* b){	if(*((long*)a) < *((long*)b))		return 1;	else if(*((long*)a) > *((long*)b))		return -1;	else		return 0;}void init(){	long i = 0;	for(i = 1;i <= len;i++)		dp[i] = inp[0]/i;}long findans(){	qsort(inp,n,sizeof(long),compare);	if(k > inp[0])		return 0;	init();	int i = 0;	long j = 0;	for(i = 1;i < n;i++)		for(j = inp[i];j > 0;j--)			dp[j] += (inp[i]/j);	for(j = len;j > 0;j--)		if(dp[j] == k)			return j;	return 0;}int main(){	scanf("%d %d",&n,&k);	inp = new long[n];	int i = 0;	long max;	scanf("%ld",&inp[0]);	max = inp[0];	for(i = 1;i < n;i++)	{		scanf("%ld",&inp[i]);		if(max < inp[i])			max = inp[i];	}	dp = new long[max+1];	len = max;	long ans = findans();	printf("%ld",ans);	return 0;}