제출 #413118

#제출 시각아이디문제언어결과실행 시간메모리
413118A_D이상적인 도시 (IOI12_city)C++14
0 / 100
15 ms1372 KiB

#include <bits/stdc++.h>

#define LL long long

using namespace std;
const int MOD=1e9;
vector<LL> x,y;
vector<LL> prex,prey;
int DistanceSum(int N,int *X,int *Y){
    x.clear();prex.clear();y.clear();prey.clear();

    for(int i=0;i<N;i++){
        x.push_back(X[i]);
        y.push_back(Y[i]);
    }
    sort(x.begin(),x.end());
    sort(y.begin(),y.end());
    prex.push_back(x[0]);
    prey.push_back(y[0]);
    for(int i=1;i<N;i++){
        prex.push_back(prex[i-1]+x[i]);
        prey.push_back(prey[i-1]+y[i]);
    }
    LL ans=0;
    for(int i=0;i<N;i++){
         int l=0,r=N-2,ann;
         while(l<=r){
            int mid=(l+r)/2;
            if(x[mid]<=X[i]){
                ann=mid;
                l=mid+1;
            }
            else r=mid-1;
         }
         ans+=X[i]*(ann+1)-prex[ann];
         ans+=prex[N-1]-prex[ann]-(N-1-ann)*X[i];



         l=0,r=N-2;
         while(l<=r){
            int mid=(l+r)/2;
            if(y[mid]<=Y[i]){
                ann=mid;
                l=mid+1;
            }
            else r=mid-1;
         }
         ans+=Y[i]*(ann+1)-prey[ann];
         ans+=prey[N-1]-prey[ann]-(N-1-ann)*Y[i];
         ans%=MOD;
    }
    return ans;
}







컴파일 시 표준 에러 (stderr) 메시지

city.cpp: In function 'int DistanceSum(int, int*, int*)':
city.cpp:37:39: warning: 'ann' may be used uninitialized in this function [-Wmaybe-uninitialized]
   37 |          ans+=prex[N-1]-prex[ann]-(N-1-ann)*X[i];
      |                                   ~~~~^~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...