问题描述
给n个有序整数对ai bi,你需要选择一些整数对 使得所有你选定的数的ai+bi的和最大。并且要求你选定的数对的ai之和非负,bi之和非负。
输入格式
输入的第一行为n,数对的个数
以下n行每行两个整数 ai bi
输出格式
输出你选定的数对的ai+bi之和
样例输入
5
-403 -625
-847 901
-624 -708
-293 413
886 709
样例输出
1715
数据规模和约定
1<=n<=100
-1000<=ai,bi<=1000
下面是我写的 只得了24分
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
List<String> lis1=new ArrayList<String>();
List<String> lis2=new ArrayList<String>();
int n=sc.nextInt();
int m=sc.nextInt();
for(int i=0;i<n;i++){
lis1.add(sc.next());
}
int f=m*2;
for(int i=0;i<f;i++){
String s=sc.next();
if(s.equals("ADD"))f+=1;
lis2.add(s);
}
for(int i=0;i<lis2.size();i++){
if(lis2.get(i)!=null){
if(lis2.get(i).equals("DEL")){
lis1.remove(lis2.get(i+1));
}
if(lis2.get(i).equals("ADD")){
lis1.add(lis1.indexOf(lis2.get(i+1)),lis2.get(i+2));
}
}
}
System.out.println(lis1.size());
for (String string : lis1) {
System.out.print(string+" ");
}
}