Advertisement
nontawat1996

0019 recursive

Dec 23rd, 2011
41
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 0.56 KB | None | 0 0
  1. #include <cstdio>
  2.  
  3. #define MAXN 10
  4.  
  5. int n, k[MAXN], g[MAXN], best = 1000000000;
  6.  
  7. int diff( int x, int y )
  8. {
  9.     return x<y ? y-x : x-y;
  10. }
  11.  
  12. void rek( int i, int kis, int gor )
  13. {
  14.     if( i == n )
  15.     {
  16.         if( gor > 0 && diff(kis,gor) < best ) best = diff(kis,gor);
  17.     }
  18.     else
  19.     {
  20.         rek( i+1, kis, gor );
  21.         rek( i+1, kis*k[i], gor+g[i] );
  22.     }
  23. }
  24.  
  25. int main(void)
  26. {
  27.     scanf( "%d", &n );
  28.     for( int i = 0; i < n; ++i ) scanf( "%d%d", &k[i], &g[i] );
  29.  
  30.     rek( 0, 1, 0 );
  31.  
  32.     printf( "%d\n", best );
  33.     return 0;
  34. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement