Java 编程
2015-08-30 15:29
417 查看
import java.io.BufferedInputStream; import java.math.BigInteger; import java.util.Arrays; import java.util.Comparator; import java.util.Scanner; class Node{ int x,y; int f; Node(){}; } class Mycmp implements Comparator{ public int compare(Object arg0, Object arg1){ Node t1=(Node)arg0; Node t2=(Node)arg1; if(t1.x==t2.x) return t1.f>t2.f?1:-1; return t1.x>t2.x?1:-1; } } public class Main { public static void main(String[] args) { Node[] d=new Node[200010]; for(int i=0;i<200010;++i) d[i] = new Node(); Scanner cin = new Scanner(new BufferedInputStream(System.in)); int T; T = cin.nextInt(); int n,m; while(T!=0){ T--; n = cin.nextInt(); m = cin.nextInt(); int i; for(i=0;i<n;++i){ d[i].x = cin.nextInt(); d[i].y = cin.nextInt(); d[i].f = 1; } for(;i<m+n;++i){ d[i].x = cin.nextInt(); d[i].y = cin.nextInt(); d[i].f = 2; } Arrays.sort(d, 0, m+n, new Mycmp()); BigInteger ans = BigInteger.valueOf(0); BigInteger numy = BigInteger.valueOf(0); for(i=0;i<n+m;++i){ if(d[i].f==2) numy = numy.add(BigInteger.valueOf(d[i].y)); else ans = ans.add(numy.multiply(BigInteger.valueOf(d[i].y))); } System.out.println(ans); } } }
相关文章推荐
- java 时间计算
- JAVA String.format 方法使用介绍
- java 时间与字符串之间的转换
- JAVA异常处理
- SpringMVC基础-@RequestParam
- (模板)java文件读写与保留小数
- 在Ubuntu中安装Eclipse与创建桌面快捷方式
- 关于math.random运用的个人体会。
- 深入了解Java虚拟机读书笔记(一)JVM内存区域
- JAVA之JSON生成与解析
- 用Java实现的帧动画效果
- SpringMVC基础-@PathVariable
- JavaEE-01-温故(集合、泛型、io、多线程)&知新(junit、内省、路径问题)
- 关于Java--i++/++i问题
- The Java EE 6 Tutorial Maintaining Client State
- 【J2SE视频】-JDK安装
- java-- servlet获取资源的几种方式
- The Java EE 6 Tutorial Accessing the Web Context
- The Java EE 6 Tutorial Invoking Other Web Resources
- Java队列学习(一)