#include #include #include #include using namespace std; int main(){ int n,m; vector dm; vector dp; cin>>n>>m; int tmp; for(int i=0;i>tmp; if(tmp<0){ dm.push_back(tmp); }else{ dp.push_back(tmp); } } dp.push_back(0); dm.push_back(0); sort(dm.begin(),dm.end(),greater()); sort(dp.begin(),dp.end()); int distance=0; int garbage=n; int minimum=30000; int i; for(i=1;i<(int)dm.size();i++){ distance+=abs(dm[i]); garbage-=i; if(garbage>0){ if(dp.size()>=garbage+1){ distance+=abs(dp[garbage])+abs(dm[i]); garbage=0; } } if(garbage<=0&&minimum>=distance)minimum=distance; distance=0; garbage=n; } for(i=1;i<(int)dp.size();i++){ distance+=abs(dp[i]); garbage-=i; if(garbage>0){ if(dm.size()>=garbage+1){ distance+=abs(dm[garbage])+abs(dp[i]); garbage=0; } } if(garbage<=0&&minimum>=distance)minimum=distance; distance=0; garbage=n; } cout<