#include #include #include typedef long long int int64; #define MAX(a,b) ((a)>(b)?(a):(b)) #define MIN(a,b) ((a)<(b)?(a):(b)) #define ABS(a) ((a)>(0)?(a):-(a)) void run(void){ int n; scanf("%d",&n); const int m=n*1000; int *dp=(int *)malloc(sizeof(int)*(m+1)); const int inf=1000*100+1; int i; for(i=0;i<=m;i++) dp[i]=inf; dp[0]=0; int sum=0; for(i=0;i=0;j--){ if(dp[j]==inf) continue; dp[j+a]=MIN(dp[j+a],dp[j]); dp[j]+=b; } sum+=a; } int min=inf; for(i=0;i<=sum;i++) min=MIN(min,MAX(i,dp[i])); printf("%d\n",min); } int main(void){ run(); return 0; }