結果

問題 No.2774 Wake up Record 2
ユーザー PyonPyon
提出日時 2024-06-07 22:14:12
言語 C++23
(gcc 13.3.0 + boost 1.87.0)
結果
WA  
実行時間 -
コード長 1,005 bytes
コンパイル時間 4,407 ms
コンパイル使用メモリ 279,412 KB
実行使用メモリ 5,248 KB
最終ジャッジ日時 2024-12-26 08:20:36
合計ジャッジ時間 5,768 ms
ジャッジサーバーID
(参考情報)
judge2 / judge5
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 2 WA * 1
other AC * 14 WA * 2
権限があれば一括ダウンロードができます

ソースコード

diff #

#define _GLIBCXX_DEBUG
#include <bits/stdc++.h>
#include <atcoder/dsu>
#include <atcoder/segtree>
using namespace atcoder;
using namespace std;
typedef long long ll;
typedef pair<ll,ll> pi;
#define ALL(x) x.begin(),x.end()
#define rep(i,a,b) for(int i=a;i<b;i++)
#define BS(A,x) binary_search(ALL(A),x)
#define LB(A,x) (ll)(lower_bound(ALL(A),x)-A.begin())
#define UB(A,x) (ll)(upper_bound(ALL(A),x)-A.begin())
#define COU(A,x) (UB(A,x)-LB(A,x))
using vi = vector<int>; 
using vvi = vector<vi>; 
using li =vector<ll>;
using lli=vector<li>;
using si =vector<char>;
using ssi =vector<si>;
const long long INF = 1e18;
const long long MOD=1e9+7;
//for (auto [key, val] : mp)
int main() { ll n,k;cin>>n>>k;
ll ok=1e10,ng=-1;
li vec(n);
rep(i,0,n)cin>>vec[i];
while(ok-ng>1){
	ll mid=(ok+ng)/2;
	ll sum=0;
	rep(i,0,n)if(vec[i]<=mid)sum++;
	if(sum<k)ng=mid;
	else ok=mid;
}
li ANS;
rep(i,1,n)if(vec[i-1]<=ok&&vec[i]>ok)ANS.push_back(i+1);
int m=ANS.size();
cout<<ANS.size()<<endl;
rep(i,0,m)cout<<ANS[i]<<" ";
}
0