一种比较挫的写法
/*
模拟
*/
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include<algorithm>
#include<iostream>
#include<queue>
#include<stack>
#include<math.h>
#include<map>
using namespace std;
const int maxn = ; int cmp( int a,int b ){
return a>b;
} int main(){
int ca;
scanf("%d",&ca);
while( ca-- ){
int n,m,k;
scanf("%d%d%d",&n,&k,&m);
int a[ maxn ];
for( int i=;i<n;i++ )
a[i] = k;
int ans = ;
while( ){
sort( a,a+n,cmp );
if( a[]<= ) break;
for( int i=;a[i]>&&i<min(n,m);i++ )
a[ i ]--;
ans++;
}
printf("%d\n",ans);
}
return ;
}
另外一种方法
/*
模拟
*/
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include<algorithm>
#include<iostream>
#include<queue>
#include<stack>
#include<math.h>
#include<map>
using namespace std;
const int maxn = ;
const double eps = 0.99999999; int main(){
int ca;
scanf("%d",&ca);
while( ca-- ){
int n,m,k;
scanf("%d%d%d",&n,&k,&m);
if( m>=n ){
printf("%d\n",k);
continue;
}
if( (n*k)%m== ) printf("%d\n",n*k/m);
else printf("%d\n",n*k/m+);
}
return ;
}