zoukankan      html  css  js  c++  java
  • cf747 D. Winter Is Coming

    天呢,这个题2333333,真是被各种卡。完蛋完蛋完蛋。IQ------------;

     1 #include<bits/stdc++.h>
     2 #define lowbit(x) x&(-x) 
     3 #define LL long long 
     4 #define N 100005
     5 #define M 1000005
     6 #define mod 2147483648LL
     7 #define inf 0x7ffffffff
     8 using namespace std;
     9 inline int ra()
    10 {
    11     int x=0,f=1; char ch=getchar();
    12     while (ch<'0' || ch>'9'){if (ch=='-') f=-1; ch=getchar();}
    13     while (ch>='0' && ch<='9'){x=x*10+ch-'0'; ch=getchar();}
    14     return x*f;
    15 }
    16 int n,k,last,ans,cnt;
    17 int a[N<<1],b[N<<1];
    18 int main()
    19 {
    20     n=ra(); k=ra();
    21     for (int i=1; i<=n; i++) a[i]=ra();
    22     int last,start=n+1;
    23     for (int i=1; i<=n; i++)
    24         if (a[i]<0) {
    25             start=i;
    26             break;
    27         }
    28     if (start<=n) ans=1,k--;
    29     else {
    30         cout<<"0";
    31         return 0;
    32     }
    33     for (int i=start+1; i<=n; i++)
    34     {
    35         if (a[i]<0) k--;
    36         if (a[i]>=0 && a[i-1]<0) last=i,ans++;
    37         if (a[i]>=0 && a[i+1]<0) b[++cnt]=i-last+1,ans++; 
    38     }
    39     if (k<0)
    40     {
    41         cout<<"-1";
    42         return 0;
    43     }
    44     sort(b+1,b+cnt+1);
    45     for (int i=1; i<=cnt; i++)
    46         if (k-b[i]<0) break;
    47             else k-=b[i],ans-=2;
    48     if (a[n]>=0)
    49         for (int i=n; i>=1; i--)
    50             if (a[i]<0)
    51             {
    52                 b[++cnt]=n-i;
    53                 break;
    54             }
    55     if (b[cnt]<=k && cnt) ans--;
    56     cout<<ans;
    57     return 0;
    58 } 
  • 相关阅读:
    工作中的体悟和经验
    java中List的toArray方法
    Arthas干货总结
    内部类访问外部类的方法
    PriorityBlockingQueue 源码分析
    ArrayBlockingQueue 源码解析
    Kafka 读书笔记--日志索引
    Mybatis源码解析之--谈谈${}
    Mybatis源码分析之--浅析ResultSetHandler
    linux命令--ll
  • 原文地址:https://www.cnblogs.com/ccd2333/p/6288787.html
Copyright © 2011-2022 走看看