Language: Java

import java.io.InputStream;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.Arrays;
import java.util.InputMismatchException;
import java.util.NoSuchElementException;
import java.util.PriorityQueue;
     
public class Main{
    
    static final InputStream in=System.in;
    static final PrintWriter out=new PrintWriter(System.out);

    static void solve(){
	int t=ir.nextInt();
        while(t-->0){
	    int n=ir.nextInt();
	    int k=ir.nextInt();
	    int[] x=ir.nextIntArray(n);
	    int[] a=new int[n-1];
	    for(int i=0;i<n-1;i++)
		a[i]=x[i+1]-x[i];
	    Arrays.sort(a);
	    long ret=0;
	    for(int i=0;i<Math.max(0,n-k);i++)
		ret+=(long)a[i];
	    out.println(ret);
	}
    }

    public static void main(String[] args) throws Exception {
	ir = new InputReader(System.in);
     	out = new PrintWriter(System.out);
	solve();
	out.flush();
     }
 
    static class InputReader {
	private InputStream in;
	private byte[] buffer=new byte[1024];
	private int curbuf;
	private int lenbuf;

	public InputReader(InputStream in) {this.in=in; this.curbuf=this.lenbuf=0;}
   
	public boolean hasNextByte() {
	    if(curbuf>=lenbuf){
		curbuf= 0;
		try{
		    lenbuf=in.read(buffer);
		}catch(IOException e) {
		    throw new InputMismatchException();
		}
		if(lenbuf<=0) return false;
	    }
	    return true;
	}
  
	private int readByte(){if(hasNextByte()) return buffer[curbuf++]; else return -1;}
 
	private boolean isSpaceChar(int c){return !(c>=33&&c<=126);}
  
	private void skip(){while(hasNextByte()&&isSpaceChar(buffer[curbuf])) curbuf++;}
 
	public boolean hasNext(){skip(); return hasNextByte();}
  
	public String next(){
	    if(!hasNext()) throw new NoSuchElementException();
	    StringBuilder sb=new StringBuilder();
	    int b=readByte();
	    while(!isSpaceChar(b)){
		sb.appendCodePoint(b);
		b=readByte();
	    }
	    return sb.toString();
	}
  
	public int nextInt() {
	    if(!hasNext()) throw new NoSuchElementException();
	    int c=readByte();
	    while (isSpaceChar(c)) c=readByte();
	    boolean minus=false;
	    if (c=='-') {
		minus=true;
		c=readByte();
	    }
	    int res=0;
	    do{
		if(c<'0'||c>'9') throw new InputMismatchException();
		res=res*10+c-'0';
		c=readByte();
	    }while(!isSpaceChar(c));
	    return (minus)?-res:res;
	}
  
	public long nextLong() {
	    if(!hasNext()) throw new NoSuchElementException();
	    int c=readByte();
	    while (isSpaceChar(c)) c=readByte();
	    boolean minus=false;
	    if (c=='-') {
		minus=true;
		c=readByte();
	    }
	    long res = 0;
	    do{
		if(c<'0'||c>'9') throw new InputMismatchException();
		res=res*10+c-'0';
		c=readByte();
	    }while(!isSpaceChar(c));
	    return (minus)?-res:res;
	}
  
	public double nextDouble(){return Double.parseDouble(next());}
  
	public int[] nextIntArray(int n){
	    int[] a=new int[n];
	    for(int i=0;i<n;i++)
		a[i]=nextInt();
	    return a;
	}
  
	public char[][] nextCharMap(int n,int m){
	    char[][] map=new char[n][m];
	    for(int i=0;i<n;i++)
		map[i]=next().toCharArray();
	    return map;
	}
    }
}



Compiler output:
Main.java:15: error: cannot find symbol
	int t=ir.nextInt();
	      ^
  symbol:   variable ir
  location: class Main
Main.java:17: error: cannot find symbol
	    int n=ir.nextInt();
	          ^
  symbol:   variable ir
  location: class Main
Main.java:18: error: cannot find symbol
	    int k=ir.nextInt();
	          ^
  symbol:   variable ir
  location: class Main
Main.java:19: error: cannot find symbol
	    int[] x=ir.nextIntArray(n);
	            ^
  symbol:   variable ir
  location: class Main
Main.java:32: error: cannot find symbol
	ir = new InputReader(System.in);
	^
  symbol:   variable ir
  location: class Main
Main.java:33: error: cannot assign a value to static final variable out
     	out = new PrintWriter(System.out);
     	^
6 errors