zoukankan      html  css  js  c++  java
  • Codeforces 442C Artem and Array (看题解)

    Artem and Array

    经过分析我们能发现, 如果对于一个a[ i ] <= a[ i + 1 ] && a[ i ] <= a[ i - 1 ]可以直接删掉。

    最后剩下一个先增后减的序列, 除了最大的两个都能加上。

    #include<bits/stdc++.h>
    #define LL long long
    #define fi first
    #define se second
    #define mk make_pair
    #define PLL pair<LL, LL>
    #define PLI pair<LL, int>
    #define PII pair<int, int>
    #define SZ(x) ((int)x.size())
    #define ull unsigned long long
    
    using namespace std;
    
    const int N = 5e5 + 7;
    const int inf = 0x3f3f3f3f;
    const LL INF = 0x3f3f3f3f3f3f3f3f;
    const int mod = 1e9 + 7;
    const double eps = 1e-8;
    const double PI = acos(-1);
    
    int n, a[N], que[N], top;
    LL ans;
    int main() {
        scanf("%d", &n);
        for(int i = 1; i <= n; i++) scanf("%d", &a[i]);
        que[++top] = a[1];
        for(int i = 2; i <= n; i++) {
            while(top > 1 && que[top] <= que[top - 1] && que[top] <= a[i]) {
                ans += min(que[top - 1], a[i]);
                top--;
            }
            que[++top] = a[i];
        }
        sort(que + 1, que + 1 + top);
        for(int i = 1; i <= top - 2; i++) ans += que[i];
        printf("%lld
    ", ans);
        return 0;
    }
    
    /*
    */
  • 相关阅读:
    了解WP的传感器
    载入条LoadingBar
    能分组的GridView
    ASP.NET MVC的过滤器
    ASP.NET的路由
    自己绘制的仪表盘
    可拖拽的ListBox
    自己绘制的滑块条
    利用mciSendString播放音频
    mis导入器的加强版——vdproj文件资源浏览器
  • 原文地址:https://www.cnblogs.com/CJLHY/p/10452521.html
Copyright © 2011-2022 走看看