Andziev

Сума од апсолутни разлики

Oct 30th, 2016
345
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.34 KB | None | 0 0
  1. import java.io.BufferedReader;
  2. import java.io.InputStreamReader;
  3. import java.util.StringTokenizer;
  4.  
  5. public class SumOfAbsoluteDifferences {
  6.  
  7.     static int solve(int numbers[], int N, int K) {
  8.        
  9.         int[][] mat = new int[numbers.length][K];
  10.         int rez = 0;
  11.  
  12.         for (int i = 1; i < N; i++) {
  13.             for (int j = 1; j < K; j++) {
  14.                 for (int p = 0; p < i; p++) {
  15.                     int raz = Math.abs(numbers[i] - numbers[p]);
  16.                     if (mat[i][j] < mat[p][j-1] + raz)
  17.                         mat[i][j] = mat[p][j-1] + raz;
  18.                 }
  19.                 if (mat[i][j] > rez) rez = mat[i][j];
  20.             }
  21.         }
  22.         return rez;
  23.     }
  24.    
  25.     public static void main(String[] args) throws Exception {
  26.         int i,j,k;
  27.  
  28.         BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
  29.         StringTokenizer st = new StringTokenizer(br.readLine());
  30.         int N = Integer.parseInt(st.nextToken());
  31.         int K = Integer.parseInt(st.nextToken());
  32.  
  33.         int numbers[] = new int[N];
  34.  
  35.         st = new StringTokenizer(br.readLine());
  36.         for (i=0; i<N; i++) {
  37.             numbers[i] = Integer.parseInt(st.nextToken());
  38.         }
  39.  
  40.         int res = solve(numbers, N, K);
  41.         System.out.println(res);
  42.  
  43.         br.close();
  44.  
  45.     }
  46. }
Advertisement
Add Comment
Please, Sign In to add comment