Submission #1221348


Source Code Expand

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

int dp[100005][2];
int A[100005];
int N;
void upmin(int &a,int b){
  a = min( a, b );
}
const int INF = (1<<29);
int main() {
  cin >> N;
  for (int i = 0; i < N; i++) {
    cin >> A[i];
    dp[i+1][0] = dp[i+1][1] = INF;
  }
  dp[0][0] = dp[0][1] = 1;
  for (int i = 1; i < N; i++) {
    if( A[i-1] <= A[i] ) upmin( dp[i][0], dp[i-1][0] );
    if( A[i-1] >= A[i] ) upmin( dp[i][1], dp[i-1][1] );
    upmin( dp[i][1], dp[i-1][0]+1 );
    upmin( dp[i][0], dp[i-1][1]+1 );
    upmin( dp[i][0], dp[i-1][0]+1 );
    upmin( dp[i][1], dp[i-1][1]+1 );
  }
  cout << min( dp[N-1][0], dp[N-1][1] ) << endl;
}

Submission Info

Submission Time
Task A - Sorted Arrays
User sate3saku3
Language C++14 (GCC 5.4.1)
Score 300
Code Size 672 Byte
Status AC
Exec Time 55 ms
Memory 1408 KB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 300 / 300
Status
AC × 3
AC × 17
Set Name Test Cases
Sample sample_01.txt, sample_02.txt, sample_03.txt
All sample_01.txt, sample_02.txt, sample_03.txt, sample_01.txt, sample_02.txt, sample_03.txt, subtask_1_01.txt, subtask_1_02.txt, subtask_1_03.txt, subtask_1_04.txt, subtask_1_05.txt, subtask_1_06.txt, subtask_1_07.txt, subtask_1_08.txt, subtask_1_09.txt, subtask_1_10.txt, subtask_1_11.txt
Case Name Status Exec Time Memory
sample_01.txt AC 1 ms 256 KB
sample_02.txt AC 1 ms 256 KB
sample_03.txt AC 1 ms 256 KB
subtask_1_01.txt AC 33 ms 1024 KB
subtask_1_02.txt AC 26 ms 768 KB
subtask_1_03.txt AC 17 ms 640 KB
subtask_1_04.txt AC 55 ms 1408 KB
subtask_1_05.txt AC 54 ms 1408 KB
subtask_1_06.txt AC 55 ms 1408 KB
subtask_1_07.txt AC 54 ms 1408 KB
subtask_1_08.txt AC 55 ms 1408 KB
subtask_1_09.txt AC 54 ms 1408 KB
subtask_1_10.txt AC 1 ms 256 KB
subtask_1_11.txt AC 1 ms 256 KB