結果

問題 No.209 Longest Mountain Subsequence
ユーザー よっかよっか
提出日時 2015-05-16 00:22:55
言語 C++11
(gcc 11.4.0)
結果
WA  
実行時間 -
コード長 1,134 bytes
コンパイル時間 826 ms
コンパイル使用メモリ 91,952 KB
実行使用メモリ 6,944 KB
最終ジャッジ日時 2024-07-06 04:35:48
合計ジャッジ時間 1,247 ms
ジャッジサーバーID
(参考情報)
judge2 / judge1
このコードへのチャレンジ
(要ログイン)

テストケース

テストケース表示
入力 結果 実行時間
実行使用メモリ
testcase_00 WA -
testcase_01 WA -
testcase_02 WA -
testcase_03 WA -
testcase_04 WA -
testcase_05 WA -
権限があれば一括ダウンロードができます

ソースコード

diff #

#include <iostream>
#include <vector>
#include <deque>
#include <stack>
#include <memory>
#include <functional>
#include <algorithm>
#include <map>
#include <list>
#include <complex>
#include <string>
#include <cstdio>
#include <cstring>
#include <cstdlib>
#include <cmath>
#include <numeric>
#include <array>
using namespace std;
typedef std::pair<int, int> pii;
typedef long long int ll;

#define pb push_back


int main(){
	
	long T, N, A;

	cin >> T;

	for (int i = 0; i < T; ++i) {
		cin >> N;
		std::vector<long> v;	
		std::vector<long> result;

		for (int j = 0; j < N; ++j) {
			cin >> A;
			v.pb(A);
		}
		sort(v.begin(), v.end());
		int pre_dif = 0;
		result.pb(v[0]);
		int pre_val = v[0];
		for (int i = 1; i < v.size(); ++i) {
			int dif = abs(v[i] - pre_val);
			if(dif > pre_dif){
				result.pb(v[i]);
				pre_val = v[i];
			}else if(dif == 0){
				if(v[i] != result[result.size()-2])
					result.pb(v[i]);
			}
			if(dif != 0){
			 	pre_dif = dif;
			}
		}

		for(const auto& element : result) {
			std::cout << element << " ";
		}
		std::cout << std::endl;
		std::cout << result.size() << std::endl;
	}


	return 0;
}
0