Submission #3782103


Source Code Expand

#include <bits/stdc++.h>
typedef long long ll;
const int INF=1e9,MOD=1e9+7,ohara=1e6;
const ll LINF=1e18;
using namespace std;

#define rep(i,n) for(ll (i)=0;(i)<(int)(n);(i)++)
#define rrep(i,a,b) for(ll i=(a);i<(b);i++)
#define rrrep(i,a,b) for(ll i=(a);i>=(b);i--)
#define all(v) (v).begin(), (v).end()
#define pb(q) push_back(q)
#define Size(n) (n).size()
#define Cout(x) cout<<(x)<<endl

ll n,cnt,ans=LINF,a[ohara],b[ohara],c,d,tmp,tmpp,m,h,w,x[ohara],y,sum,pos,k;
int dy[]={1,0,-1,0};
int dx[]={0,1,0,-1};
//int dy[]={-1,0,1,-1,1,-1,0,1};
//int dx[]={-1,-1,-1,0,0,1,1,1};
string alph("abcdefghijklmnopqrstuvwxyz"),s;
bool fl;
struct edge{int to,cost;};

//-------------------------↓↓↓↓↓↓------------------------

int main(void){
       cin.tie(0);
    ios::sync_with_stdio(false);
      
    cin>>n>>k;
    rep(i,n)cin>>x[i];
    ll cntt=0;
    rep(i,n){
        if(x[i]<=0){
            b[cnt++]=x[i];
        }
        else{
            a[cntt++]=x[i];
        }
    }
    reverse(b,b+cnt);
    if(cnt==0){
        Cout(a[k-1]);
    }
    else if(cntt==0){
        Cout(b[k-1]*-1);
    }
    else{
    //rep(i,cntt)cout<<a[i]<<" ";
    rep(i,cnt){
        ll nokori=k-i-1;
        if(nokori<=0)continue;
        if(nokori-1>=cntt)continue;
        tmp=abs(a[nokori-1]-b[i]*2);
        //tmp=abs(abs(b[i])+abs(a[nokori-1]));
        ans=min(ans,tmp);
        //Cout(tmp);
    }
    rep(i,cntt){
        ll nokori=k-i-1;
        if(nokori<=0)continue;
        if(nokori-1>=cnt)continue;
        tmp=abs(a[i]*2-b[nokori-1]);
        //tmp=abs(abs(a[i])+abs(b[nokori-1]));
        ans=min(ans,tmp);
    }
    Cout(ans);
    }
    return 0;
}

Submission Info

Submission Time
Task C - Candles
User asdf1
Language C++14 (GCC 5.4.1)
Score 300
Code Size 1728 Byte
Status AC
Exec Time 13 ms
Memory 7168 KB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 300 / 300
Status
AC × 4
AC × 12
Set Name Test Cases
Sample 0_00.txt, 0_01.txt, 0_02.txt, 0_03.txt
All 0_00.txt, 0_01.txt, 0_02.txt, 0_03.txt, 1_00.txt, 1_01.txt, 1_02.txt, 1_03.txt, 1_04.txt, 1_05.txt, 1_06.txt, 1_07.txt
Case Name Status Exec Time Memory
0_00.txt AC 2 ms 4352 KB
0_01.txt AC 2 ms 2304 KB
0_02.txt AC 2 ms 2304 KB
0_03.txt AC 2 ms 4352 KB
1_00.txt AC 12 ms 7168 KB
1_01.txt AC 12 ms 7168 KB
1_02.txt AC 12 ms 5120 KB
1_03.txt AC 12 ms 5120 KB
1_04.txt AC 11 ms 5120 KB
1_05.txt AC 11 ms 5120 KB
1_06.txt AC 12 ms 5120 KB
1_07.txt AC 13 ms 7168 KB