2 solutions
-
1
C :
#include <stdio.h> #include <stdlib.h> int n,k,sa,sb,i,l,r,mid,s; #define max(a,b) a>b?a:b int a[10010]; int check(int x) { s=0; for(i=1;i<=n;i++) s+=a[i]/x; return s<k; } int main() { scanf("%d %d",&n,&k); r=-1; for(i=1;i<=n;i++) { scanf("%d.%2d",&sa,&sb); a[i]=sa*100+sb; r=max(r,a[i]); } l=1; while(l<=r) { mid=(l+r)>>1; if(check(mid)) r=--mid; else l=++mid; } printf("%d.%d%d",(l-1)/100,(l-1)%100/10,(l-1)%10); return 0; }C++ :
undefinedPascal :
undefined
Information
- ID
- 754
- Time
- 1000ms
- Memory
- 128MiB
- Difficulty
- 2
- Tags
- # Submissions
- 126
- Accepted
- 36
- Uploaded By