AtCoder Grand Contest 005

Submission #1364647

Source codeソースコード

#include <bits/stdc++.h>
using namespace std;

int main()
{
    int n; cin>>n;
    vector<int> p(n+1);
    for(int i=0; i<n; ++i) {
        int a; cin>>a;
        p[a]=i;
    }

    long res=0;
    set<int> s={-1, n};
    for(int i=1; i<=n; ++i) {
        int k=p[i];
        auto it=s.upper_bound(k);
        long R=*it;
        long L=*--it;
        res+=(k-L)*(R-k)*i;
        s.insert(k);
    }
    cout<<res<<endl;
}

Submission

Task問題 B - Minimum Sum
User nameユーザ名 hogeover30
Created time投稿日時
Language言語 C++14 (GCC 5.4.1)
Status状態 AC
Score得点 400
Source lengthソースコード長 446 Byte
File nameファイル名
Exec time実行時間 157 ms
Memory usageメモリ使用量 10368 KB

Test case

Set

Set name Score得点 / Max score Cases
Sample - example0,example1,example2
All 400 / 400 corner0,corner1,corner2,corner3,example0,example1,example2,maxrand0,maxrand1,maxrand2,rand0,rand1,rand2

Test case

Case name Status状態 Exec time実行時間 Memory usageメモリ使用量
corner0 AC 157 ms 10368 KB
corner1 AC 155 ms 10368 KB
corner2 AC 1 ms 256 KB
corner3 AC 111 ms 10368 KB
example0 AC 1 ms 256 KB
example1 AC 1 ms 256 KB
example2 AC 1 ms 256 KB
maxrand0 AC 146 ms 10368 KB
maxrand1 AC 146 ms 10368 KB
maxrand2 AC 145 ms 10368 KB
rand0 AC 1 ms 256 KB
rand1 AC 1 ms 256 KB
rand2 AC 1 ms 256 KB