Submission #1221795


Source Code Expand

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

int main( int argc, char *argv[] )
{
int i;
int N;
int A;
int iPre;
int iCount;
int iFlag;

	// N を取得
	cin >> N;

	// A を取得しながら、数列の数をカウント
	cin >> iPre;
	iCount = 1;
	iFlag = 0;	// 0:未設定 1:単調非減少 2:単調非増加
	for( i = 1; i < N; i++ )
	{
		cin >> A;
		if( iPre > A )
		{
			if( iFlag == 0 )
			{
				// 単調非増加
				iFlag = 2;
			}
			else if( iFlag == 1 )
			{
				// 新しい数列の先頭
				iCount++;
				iFlag = 0;
			}
		}
		else if( iPre < A )
		{
			if( iFlag == 0 )
			{
				// 単調非減少
				iFlag = 1;
			}
			else if( iFlag == 2 )
			{
				// 新しい数列の先頭
				iCount++;
				iFlag = 0;
			}
		}

		iPre = A;
	}

	// 出力
	cout << iCount << endl;

	return 0;
}

Submission Info

Submission Time
Task A - Sorted Arrays
User ZZZZZZ
Language C++14 (GCC 5.4.1)
Score 300
Code Size 867 Byte
Status AC
Exec Time 55 ms
Memory 256 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 256 KB
subtask_1_02.txt AC 26 ms 256 KB
subtask_1_03.txt AC 16 ms 256 KB
subtask_1_04.txt AC 55 ms 256 KB
subtask_1_05.txt AC 52 ms 256 KB
subtask_1_06.txt AC 54 ms 256 KB
subtask_1_07.txt AC 55 ms 256 KB
subtask_1_08.txt AC 53 ms 256 KB
subtask_1_09.txt AC 54 ms 256 KB
subtask_1_10.txt AC 1 ms 256 KB
subtask_1_11.txt AC 1 ms 256 KB