Contest Duration: - (local time) (100 minutes) Back to Home

Submission #2769094

Source Code Expand

Copy
import java.util.Arrays;
import java.util.Iterator;
import java.util.PrimitiveIterator;
import java.util.Scanner;
import java.util.function.Supplier;
import java.util.stream.IntStream;
import java.util.stream.Stream;

public class Main{
static Scanner s=new Scanner(System.in);

void solve(){
int n=gInt();
int[]a=new int[n];
for(int i:rep(n))
a[i]=gInt()-i;
Arrays.sort(a);
int c=a[n/2];
for(int i:rep(n)){
a[i]-=c;
}
System.out.println(Arrays.stream(a).mapToLong(Math::abs).sum());
}

public static void main(String[] A){
new Main().solve();
}

static int gInt(){
return Integer.parseInt(s.next());
}
static long gLong(){
return Long.parseLong(s.next());
}
static double gDouble(){
return Double.parseDouble(s.next());
}

SupplyingIterator<Integer> ints(int n){
return new SupplyingIterator<>(n,Main::gInt);
}
SupplyingIterator<Long> longs(int n){
return new SupplyingIterator<>(n,Main::gLong);
}
SupplyingIterator<Double> doubles(int n){
return new SupplyingIterator<>(n,Main::gDouble);
}
SupplyingIterator<String> strs(int n){
return new SupplyingIterator<>(n,s::next);
}

Range rep(int i){
return Range.rep(i);
}
Range rep(int f,int t,int d){
return Range.rep(f,t,d);
}
Range rep(int f,int t){
return rep(f,t,1);
}
Range rrep(int f,int t){
return rep(t,f,-1);
}

IntStream REP(int v){
return IntStream.range(0,v);
}
IntStream REP(int l,int r){
return IntStream.rangeClosed(l,r);
}

IntStream INTS(int n){
return IntStream.generate(Main::gInt).limit(n);
}
Stream<String> STRS(int n){
return Stream.generate(s::next).limit(n);
}

}
class SupplyingIterator<T> implements Iterable<T>,Iterator<T>{
int			t;
Supplier<T>	supplier;

SupplyingIterator(int t,Supplier<T> supplier){
this.t=t;
this.supplier=supplier;
}

@Override
public Iterator<T> iterator(){
return this;
}

@Override
public boolean hasNext(){
return t>0;
}

@Override
public T next(){
--t;
return supplier.get();
}

}
class Range implements Iterable<Integer>,PrimitiveIterator.OfInt{
int to,cur,d;

Range(int from,int to,int d){
this.cur=from-d;
this.to=to;
this.d=d;
}

Range(int n){
this(0,n-1,1);
}

@Override
public Iterator<Integer> iterator(){
return this;
}

@Override
public boolean hasNext(){
return cur+d==to||(cur!=to&&(cur<to==cur+d<to));
}

@Override
public int nextInt(){
return cur+=d;
}

static Range rep(int i){
return new Range(i);
}
static Range rep(int f,int t,int d){
return new Range(f,t,d);
}
static Range rep(int f,int t){
return rep(f,t,1);
}
static Range rrep(int f,int t){
return rep(f,t,-1);
}

}

#### Submission Info

Submission Time 2018-07-01 20:52:49+0900 C - Linear Approximation fal_rnd Java8 (OpenJDK 1.8.0) 300 2794 Byte AC 661 ms 51520 KB

#### Judge Result

Set Name Sample All
Score / Max Score 0 / 0 300 / 300
Status
 AC × 4
 AC × 19
Set Name Test Cases
Sample sample_01.txt, sample_02.txt, sample_03.txt, sample_04.txt
Case Name Status Exec Time Memory
sample_01.txt AC 277 ms 26196 KB
sample_02.txt AC 169 ms 24660 KB
sample_03.txt AC 170 ms 24644 KB
sample_04.txt AC 183 ms 26580 KB
subtask_1_01.txt AC 168 ms 24396 KB
subtask_1_02.txt AC 390 ms 40224 KB
subtask_1_03.txt AC 353 ms 39376 KB
subtask_1_04.txt AC 473 ms 47436 KB
subtask_1_05.txt AC 573 ms 49292 KB
subtask_1_06.txt AC 570 ms 50312 KB
subtask_1_07.txt AC 629 ms 49092 KB
subtask_1_08.txt AC 650 ms 49992 KB
subtask_1_09.txt AC 632 ms 51520 KB
subtask_1_10.txt AC 648 ms 50268 KB
subtask_1_11.txt AC 661 ms 48992 KB