제출 #14094

#제출 시각아이디문제언어결과실행 시간메모리
14094exqt이상한 수열 (OJUZ10_bizarre)C++98
100 / 100
27 ms2112 KiB
#include <cstdio> #include <cstdlib> #include <cstring> #include <iostream> #include <vector> #include <string> #include <algorithm> #include <utility> using namespace std; #define in cin #define out cout #define _abs(a) ((a)>0?(a):(-(a))) #define _min(a,b) ((a)>(b)?(b):(a)) #define _max(a,b) ((a)<(b)?(b):(a)) #define isin(a,b,c) ((a)<=(c)&&(c)<=(b)) #define REP(i,e) for(int i=0; i<e; i++) #define REPE(i,s,e) for(int i=s; i<=e; i++) #define REPR(i,s,e) for(int i=e; i>=s; i--) int main() { int n; in >> n; vector<int> v(n); REP(i,n) in >> v[i]; int m; in >> m; if(m <= n) { out << v[m-1] << endl; return 0; } // vector<int> vv(n); REP(i,n) vv[i] = v[i]; sort(vv.begin(), vv.end()); // int cnt = 1; REP(i,n-1) { if(vv[i] != vv[i+1]) cnt++; } // int tt = lower_bound(vv.begin(), vv.end(), cnt)-vv.begin(); if(tt != n) { tt = vv[tt]; m -= (n+1); if(tt-cnt > m) out << cnt + m; else out << tt; } else { out << cnt+(m-n)-1 << endl; } return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...