提出 #947707


ソースコード 拡げる

#include <iostream>
#include <string>
#include <vector>
#include <algorithm>
#include <cmath>
using namespace std;

int N = 1000000007;

int n;

vector<int> t;
vector<int> a;
int ans[100000] = {0};

unsigned long long mainmain(){
    int M = 0;
    cin >> n;
    for (int i = 0;i < n; i++){
        int m;
        cin >> m;
        t.push_back(m);
        M = max(M,m);
        if (i == 0) {
            ans[0] = m;
            continue;
        }
        if(t[i-1] < m){
            ans[i] = m;
        }
    }
    for (int i = 0;i < n; i++){
        int m;
        cin >> m;
        a.push_back(m);
    }
    unsigned long long tans = 1;
    for (int i= 0;i < n; i++){
        if(i == 0){
            if (ans[n-1] != 0 && ans[n-1] != a[n-1]) {tans = 0;break;}
            ans[n-1] = a[n-1];
            continue;
        }
        //if(ans[i-n-1]!=0 && a[i-n-1]<ans[i-n-1]){tans = 0;break;}
        if(a[n-i] < a[n-i-1]){
            if (ans[n-i-1]!=0 && ans[n-i-1] != a[n-i-1]) {tans = 0;break;}
            ans[n-i-1] = a[n-i-1];
        }
    }
    
    
    if (tans == 0)return 0;
    int num = 1;
    int ind = 0;
    for(int i = 0;i<n;i++){
        if(ans[i] == M){
            ind = i;
            break;
        }
        if(ans[i] != 0){
            num = ans[i];
        }else{
            tans *= num;
            tans %= N;
        }
    }
    num = 1;
    for(int i = n-1;i>ind-1;i--){
        if(ans[i] != 0){
            num = ans[i];
        }else{
            tans *= num;
            tans %= N;
        }
    }
    return tans;

}

int main(){
    cin.tie(0);
    ios::sync_with_stdio(false);
    unsigned long long an = mainmain();
    cout << an%N << endl;
    return 0;
}

提出情報

提出日時
問題 C - 二人のアルピニスト
ユーザ yamagenii
言語 C++14 (GCC 5.4.1)
得点 0
コード長 1780 Byte
結果 WA
実行時間 28 ms
メモリ 1656 KiB

ジャッジ結果

セット名 Sample All
得点 / 配点 0 / 0 0 / 400
結果
AC × 4
AC × 18
WA × 3
セット名 テストケース
Sample 0_000.txt, 0_001.txt, 0_002.txt, 0_003.txt
All 0_000.txt, 0_001.txt, 0_002.txt, 0_003.txt, 1_004.txt, 1_005.txt, 1_006.txt, 1_007.txt, 1_008.txt, 1_009.txt, 1_010.txt, 1_011.txt, 1_012.txt, 1_013.txt, 1_014.txt, 1_015.txt, 1_016.txt, 1_017.txt, 1_018.txt, 1_019.txt, 1_020.txt
ケース名 結果 実行時間 メモリ
0_000.txt AC 3 ms 256 KiB
0_001.txt AC 3 ms 256 KiB
0_002.txt AC 3 ms 256 KiB
0_003.txt AC 2 ms 256 KiB
1_004.txt AC 3 ms 256 KiB
1_005.txt AC 3 ms 256 KiB
1_006.txt WA 3 ms 256 KiB
1_007.txt AC 2 ms 256 KiB
1_008.txt AC 28 ms 1400 KiB
1_009.txt AC 24 ms 1656 KiB
1_010.txt AC 25 ms 1528 KiB
1_011.txt AC 26 ms 1656 KiB
1_012.txt AC 25 ms 1528 KiB
1_013.txt AC 26 ms 1528 KiB
1_014.txt AC 25 ms 1656 KiB
1_015.txt AC 26 ms 1528 KiB
1_016.txt AC 25 ms 1528 KiB
1_017.txt AC 25 ms 1400 KiB
1_018.txt WA 24 ms 1528 KiB
1_019.txt AC 22 ms 1400 KiB
1_020.txt WA 22 ms 1400 KiB