| ||||||||||
Online Judge | Problem Set | Authors | Online Contests | User | ||||||
---|---|---|---|---|---|---|---|---|---|---|
Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest |
@Problem 2785import java.io.*; import java.util.*; public class Main { static StreamTokenizer in = new StreamTokenizer(new BufferedReader(new InputStreamReader(System.in))); static PrintWriter out = new PrintWriter(new OutputStreamWriter(System.out)); static Scanner sc = new Scanner(new BufferedInputStream(System.in)); static int INF = 0x3f3f3f3f; public static void main(String[] args) throws IOException { in.nextToken();int n = (int) in.nval; int[] a=new int[n]; int[] b=new int[n]; int[] c=new int[n]; int[] d=new int[n]; // int[] ab=new int[n*n]; for (int i = 0; i < n; i++) { in.nextToken();a[i]= (int) in.nval; in.nextToken();b[i]= (int) in.nval; in.nextToken();c[i]= (int) in.nval; in.nextToken();d[i]= (int) in.nval; } int res=0; int[] ab=new int[n*n]; for(int i=0;i<n;i++){ for(int j=0;j<n;j++){ ab[i*n+j]=a[i]+b[j]; } } Arrays.sort(ab); for(int i=0;i<n;i++){ for(int j=0;j<n;j++){ int cd=-(c[i]+d[j]); res+=find_right(cd,ab)-find_left(cd,ab); } } out.println(res); out.flush(); } private static int find_left(int target, int[] ab) { int l=0; int r=ab.length; while(l<r){ int mid=l+(r-l>>1); if(ab[mid]>=target){ r=mid; }else{ l=mid+1; } } return l; } private static int find_right(int target, int[] ab) { int l=0; int r=ab.length; while(l<r){ int mid=l+(r-l>>1); if(ab[mid]>target){ r=mid; }else{ l=mid+1; } } return l; } private static int highBinarty(int cd,int[] ab) { int low=0; int high=ab.length; while(low<high){ int mid=(low+high)/2; if(ab[mid]<=cd) low=mid+1; else high=mid; } return low; } private static int lowBinarty(int cd,int[] ab) { int low=0; int high=ab.length; while(low<high){ int mid=(low+high)/2; if(ab[mid]>=cd) high=mid; else low=mid+1; } return low; } } 这个SB问题,把定义放在两个位置得出的结果完全不一样(一个AC,一个RE)。想问有什么区别。 Followed by: Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator