Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.io.BufferedReader;
- import java.io.InputStreamReader;
- import java.util.StringTokenizer;
- public class SumOfAbsoluteDifferences {
- static int solve(int numbers[], int n, int k) {
- int[][]dp=new int[n][k+1];
- int rez=0;
- for(int i=0;i<n;i++)
- for(int j=0;j<k;j++)dp[i][j]=0;
- for(int i=1;i<n;i++){
- for(int j=1;j<k;j++)
- for(int h=0;h<i;h++){
- if(dp[i][j]<dp[h][j-1]+Math.abs(numbers[i]-numbers[h]))
- dp[i][j]=dp[h][j-1]+Math.abs(numbers[i]-numbers[h]);
- if(j==k-1&&rez<dp[i][j])rez=dp[i][j];
- }
- }
- for(int i=0;i<n;i++){
- for(int j=0;j<k;j++)System.out.print(dp[i][j]+" ");
- System.out.println("");
- }
- return rez;
- }
- public static void main(String[] args) throws Exception {
- int i, j, k;
- BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
- StringTokenizer st = new StringTokenizer(br.readLine());
- int N = Integer.parseInt(st.nextToken());
- int K = Integer.parseInt(st.nextToken());
- int numbers[] = new int[N];
- st = new StringTokenizer(br.readLine());
- for (i = 0; i < N; i++) {
- numbers[i] = Integer.parseInt(st.nextToken());
- }
- int res = solve(numbers, N, K);
- System.out.println(res);
- br.close();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment