zoukankan      html  css  js  c++  java
  • AtCoder Regular Contest 101 C

    水题  ;

    最优解最多只会回头一次  所以依次判断就行了

    链接 :https://atcoder.jp/contests/arc101/tasks/arc101_a

    #include<bits/stdc++.h>
    #define pb push_back
    #define fi first
    #define se second
    #define io std::ios::sync_with_stdio(false)
    using namespace std;
    typedef long long ll;
    typedef pair<ll,ll> pii;
    const double pi=acos(-1);
    const ll P = 998244353, INF = 0x3f3f3f3f;
    ll gcd(ll a,ll b){return b?gcd(b,a%b):a;}
    ll qpow(ll a,ll n){ll r=1%P;for (a%=P; n; a=a*a%P,n>>=1)if(n&1)r=r*a%P;return r;}
    const double eps=1e-5;
    ll lcm(ll a,ll b){return a*b/gcd(a,b);};
    
    
    
    const int maxn = 1e5+10;
    int sum1[maxn],sum2[maxn];
    int main(){
        int n,k;
        cin>>n>>k;
        std::vector<int> ans1,ans2;
        for(int i=1;i<=n;i++)
          {
                int x;
                cin>>x;
                if(x<0)ans1.push_back(-x);
                else if(x>0) ans2.push_back(x);
                else k--;
          }
          reverse(ans1.begin(),ans1.end());
          for(int i=0;i<ans2.size();i++)
          { 
            sum1[i+1]=ans2[i];
          }
          for(int i=0;i<ans1.size();i++)
          {
            sum2[i+1]=ans1[i];
          }
          int _min=1e9+10;
          if(k==0)
            _min=0;
          for(int i=1;i<=ans2.size();i++){
            if(k-i>ans1.size())
              continue;
            _min=min(sum1[i]+sum2[k-i]+min(sum1[i],sum2[k-i]),_min);
          }
          for(int i=1;i<=ans1.size();i++)
          {if(k-i>ans2.size())
              continue;
            _min=min(sum2[i]+sum1[k-i]+min(sum2[i],sum1[k-i]),_min);
          }
          cout<<_min<<endl;
        return 0;
    }
  • 相关阅读:
    python 批量文件重命名
    python 各种转义字符
    python 生成器
    python 迭代器 itertools模块中常用工具函数
    python 内建迭代函数 iter()
    python 迭代器
    python 常用标准库简介
    python 包及其文件的调用
    python 导入模块或函数
    python 手工抛出异常
  • 原文地址:https://www.cnblogs.com/acmLLF/p/13639337.html
Copyright © 2011-2022 走看看