同样的代码C++能AC,java只能过3个点
查看原帖
同样的代码C++能AC,java只能过3个点
400760
ZYH20190341315楼主2021/5/26 22:55
import java.util.Arrays;
import java.util.Scanner;
public class Main {
    public static void main(String[] args) {
        long[] a = new long[20001];
        long[] b = new long[20001];
        long l = 0;
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        for (int i = 0; i < n; i++) {
            a[i]=sc.nextInt();
            b[i]=sc.nextInt();
        }
        Arrays.sort(a,0,n-1);
        Arrays.sort(b,0,n-1);
        for (int i = 0; i < n; i++) {
            l+=b[i]-a[i];
            if(i+1<n){
                if(b[i]>a[i+1]) 
				l-=b[i]-a[i+1];
            }
        }
        System.out.println(l);
    }
}
#include<iostream>
#include<algorithm>
using namespace std;
int main()
{
    int n;
    cin>>n;
    long long a[20001],b[20001];
	 long long l=0;
    for(int i=0;i<n;i++)
       cin>>a[i]>>b[i];
    sort(a,a+n);
    sort(b,b+n);
    for(int i=0;i<n;i++)
    {
        l+=b[i]-a[i];
        if(i+1<n)
        {
        	if(b[i]>a[i+1])
            l-=b[i]-a[i+1];
			}     
    }
    cout<<l;
    return 0;
}

2021/5/26 22:55
加载中...