結果
| 問題 | 
                            No.209 Longest Mountain Subsequence
                             | 
                    
| コンテスト | |
| ユーザー | 
                             よっか
                         | 
                    
| 提出日時 | 2015-05-16 00:27:04 | 
| 言語 | C++11(廃止可能性あり)  (gcc 13.3.0)  | 
                    
| 結果 | 
                             
                                WA
                                 
                             
                            
                         | 
                    
| 実行時間 | - | 
| コード長 | 1,061 bytes | 
| コンパイル時間 | 814 ms | 
| コンパイル使用メモリ | 92,416 KB | 
| 実行使用メモリ | 6,944 KB | 
| 最終ジャッジ日時 | 2024-07-06 04:37:33 | 
| 合計ジャッジ時間 | 1,066 ms | 
| 
                            ジャッジサーバーID (参考情報)  | 
                        judge2 / judge3 | 
(要ログイン)
| ファイルパターン | 結果 | 
|---|---|
| other | WA * 6 | 
ソースコード
#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];
				pre_dif = dif;
			}else if(dif == 0){
				if(v[i] != result[result.size()-2])
					result.pb(v[i]);
			}
			// if(dif != 0){
			//  	pre_dif = dif;
			// }
		}
		std::cout << result.size() << std::endl;
	}
	return 0;
}
            
            
            
        
            
よっか