CAR - Lập lịch sửa chữa ô tô
Tác giả: khuc_tuan
Ngôn ngữ: Java
import java.io.*;
import java.util.*;
import static java.lang.Integer.parseInt;
public class Main{
static class Element implements Comparable<Element>{
public int a,b,i;
public int compareTo(Element x) {
return -a*x.b+b*x.a;
}
}
public static void main(String[]Args) throws Exception {
BufferedReader kb=new BufferedReader(new InputStreamReader(System.in));
int n=parseInt(kb.readLine());
Element[] a=new Element[n];
for(int i=0;i<n;++i) a[i]=new Element();
StringTokenizer st=new StringTokenizer(kb.readLine());
for(int i=0;i<n;++i) {
a[i].a = parseInt(st.nextToken());
a[i].i = i+1;
}
st=new StringTokenizer(kb.readLine());
for(int i=0;i<n;++i) a[i].b=parseInt(st.nextToken());
Arrays.sort(a);
long s=0,r=0;
for(Element x:a) {
s+=x.b;
r+=s*x.a;
}
System.out.println(r);
for(Element x:a) System.out.print(x.i+" ");
}
}