Submission #570670

#TimeUsernameProblemLanguageResultExecution timeMemory
570670AGESimfonija (COCI19_simfonija)C++14
0 / 110
459 ms65536 KiB
#include<bits/stdc++.h> #define F first #define S second #define pb push_back #define int long long using namespace std; const int N=1e6,M=2e3; int a[N],b[N]; main() { int n,m; cin>>n>>m; map<int,int>mp; for(int i=0;i<n;i++) cin>>a[i]; for(int i=0;i<n;i++) cin>>b[i]; for(int i=0;i<n;i++) mp[a[i]-b[i]]++; int neg=0,pos=0; for(auto x:mp){ if(x.F<0) neg+=x.S; else pos+=x.S; } int ans=0,anss=1e18; for(int i=0;i<n;i++) ans+=abs(a[i]-b[i]); anss=min(ans,anss); for(int j=-2e6;j>=0;j--){ ans-=pos; ans+=neg; anss=min(anss,abs(ans)); neg+=mp[-j]; pos-=mp[-j]; } ans=0,pos=0,neg=0; for(int i=0;i<n;i++) ans+=abs(a[i]-b[i]); for(auto x:mp) if(x.F<0) neg+=x.S; else pos+=x.S; for(int j=0;j<=2e6;j++){ ans-=neg; ans+=pos; anss=min(anss,abs(ans)); neg-=mp[-j]; pos+=mp[-j]; } cout<<anss<<endl; return 0; }

Compilation message (stderr)

simfonija.cpp:10:1: warning: ISO C++ forbids declaration of 'main' with no type [-Wreturn-type]
   10 | main()
      | ^~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...