#pragma region GNUC //https://yukicoder.me/wiki/auto_vectorization #ifdef __GNUC__ #pragma GCC optimize ("O3") #pragma GCC target ("avx") #endif #pragma endregion #define _USE_MATH_DEFINES #pragma region #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #pragma endregion //#include using namespace::std; ///////////////////// typedef tuple DATA; void solve(){ int N,K; scanf("%d%d",&N,&K); vector< DATA > data0(N),data1(N); for(int i=0;i(data0[i]),&get<1>(data0[i]),&get<2>(data0[i])); //get<0>(data0[i]) *= -1; get<0>(data0[i]) = 10-get<0>(data0[i]); get<3>(data0[i]) = i; } sort(data0.begin(),data0.end()); vector univ(N,0); for(int i=0;i(data1[i]) = get<0>(data0[i]); get<1>(data1[i]) = univ[ get<2>(data0[i]) ]; univ[ get<2>(data0[i]) ]++; get<2>(data1[i]) = get<1>(data0[i]); get<3>(data1[i]) = get<3>(data0[i]); } sort(data1.begin(), data1.end()); for(int i=0;i(data1[i]) ); } } #pragma region main signed main(void){ std::cin.tie(0); std::ios::sync_with_stdio(false); std::cout << std::fixed;//小数を10進数表示 cout << setprecision(16);//小数点以下の桁数を指定 solve(); } #pragma endregion //main()