Submission #1688915


Source Code Expand

#include<iostream>
#include<algorithm>
#include<cstdio>
#include<cmath>
#include<math.h>
#include<string>
#include<string.h>
#include<stack>
#include<queue>
#include<vector>
#include<utility>
#include<set>
#include<map>
#include<stdlib.h>
#include<iomanip>

using namespace std;

#define ll long long
#define ld long double
#define EPS 0.0000000001
#define INF 1e9
#define MOD 1000000007
#define rep(i,n) for(i=0;i<n;i++)
#define loop(i,a,n) for(i=a;i<n;i++)
#define all(in) in.begin(),in.end()
#define shosu(x) fixed<<setprecision(x)

typedef vector<int> vi;
typedef pair<int,int> pii;

int main(void) {
  int i,j;
  int n;
  cin>>n;
  vi a(n),h(n);
  vector<bool> f(n,false);
  rep(i,n)cin>>a[i];//left
  rep(i,n){
    h[i]=a[i];
    if(i==0 || a[i]!=a[i-1])f[i]=true;
  }
  rep(i,n)cin>>a[i];//right
  for(i=n-1;i>=0;i--){
    if(f[i]){
      if(i==n-1 || a[i]!=a[i+1]){
	if(h[i]!=a[i]){
	  cout<<0<<endl;
	  return 0;
	}
      }else{
	if(h[i]>a[i]){
	  cout<<0<<endl;
	  return 0;
	}
      }
    }else{
      if(i==n-1 || a[i]!=a[i+1]){
	if(h[i]<a[i]){
	  cout<<0<<endl;
	  return 0;
	}
	h[i]=a[i];
	f[i]=true; 
      }else{
	if(h[i]>a[i])h[i]=a[i];
      }
    } 
  }

  ll ans=1;
  rep(i,n)if(f[i]==false)ans=(ans*h[i])%MOD;
  cout<<ans<<endl;

}

Submission Info

Submission Time
Task C - Two Alpinists
User rika0384
Language C++14 (GCC 5.4.1)
Score 400
Code Size 1328 Byte
Status AC
Exec Time 87 ms
Memory 1024 KB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 400 / 400
Status
AC × 4
AC × 21
Set Name Test Cases
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
Case Name Status Exec Time Memory
0_000.txt AC 1 ms 256 KB
0_001.txt AC 1 ms 256 KB
0_002.txt AC 1 ms 256 KB
0_003.txt AC 1 ms 256 KB
1_004.txt AC 1 ms 256 KB
1_005.txt AC 1 ms 256 KB
1_006.txt AC 1 ms 256 KB
1_007.txt AC 1 ms 256 KB
1_008.txt AC 87 ms 1024 KB
1_009.txt AC 72 ms 1024 KB
1_010.txt AC 76 ms 1024 KB
1_011.txt AC 81 ms 1024 KB
1_012.txt AC 78 ms 1024 KB
1_013.txt AC 79 ms 1024 KB
1_014.txt AC 80 ms 1024 KB
1_015.txt AC 80 ms 1024 KB
1_016.txt AC 77 ms 1024 KB
1_017.txt AC 75 ms 1024 KB
1_018.txt AC 72 ms 1024 KB
1_019.txt AC 63 ms 1024 KB
1_020.txt AC 61 ms 1024 KB