| ||||||||||
| 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