제출 #389024

#제출 시각아이디문제언어결과실행 시간메모리
389024kshitij_sodaniMinerals (JOI19_minerals)C++14
40 / 100
42 ms3400 KiB
//#pragma GCC optimize("Ofast,unroll-loops")
#include <bits/stdc++.h>
using namespace std;
typedef long long llo;
#define mp make_pair
#define pb push_back
#define a first 
#define b second
#define endl '\n'
 
#include "minerals.h"
vector<pair<int,int>> ans;
int cur=0;
void solve(vector<int> aa,vector<int> bb){
	/*for(auto j:aa){
		cout<<j<<".";
	}
	cout<<endl;
	for(auto j:bb){
		cout<<j<<".";
	}
	cout<<endl;*/
	if(aa.size()==1){
		//cout<<aa[0]<<":"<<bb[0]<<endl;
		ans.pb({aa[0],bb[0]});
		return;
	}
	//int cur=0;
	vector<int> cc;
	vector<int> dd;
	vector<int> ee;
	vector<int> ff;
	for(int i=0;i<aa.size();i++){
		if(i*2>=aa.size()){
			dd.pb(aa[i]);
			continue;
		}
		cur=Query(aa[i]);
		cc.pb(aa[i]);
	}
	for(int i=0;i<bb.size();i++){
		int cur2=Query(bb[i]);
	
	//	
		if(cur2==cur){
			ee.pb(bb[i]);
			continue;
		}
		//Query(bb[i]);
		cur=cur2;
		ff.pb(bb[i]);
	}
	for(auto j:cc){
		cur=Query(j);
	}
	solve(cc,ee);
	solve(dd,ff);
}
void Solve(int n) {
	vector<int> aa;
	vector<int> bb;
	int cur5=0;
	for(int i=1;i<=2*n;i++){
		int cur2=Query(i);
		if(cur2>cur5){
			aa.pb(i);
			cur5=cur2;
			continue;
		}
		bb.pb(i);
		Query(i);
	}
	for(auto j:aa){
		Query(j);
	}
 
	solve(aa,bb);
 
  	for (int i=0; i<n;i++) {
    	Answer(ans[i].a,ans[i].b);
  	}
}

컴파일 시 표준 에러 (stderr) 메시지

minerals.cpp: In function 'void solve(std::vector<int>, std::vector<int>)':
minerals.cpp:33:15: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   33 |  for(int i=0;i<aa.size();i++){
      |              ~^~~~~~~~~~
minerals.cpp:34:9: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   34 |   if(i*2>=aa.size()){
      |      ~~~^~~~~~~~~~~
minerals.cpp:41:15: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   41 |  for(int i=0;i<bb.size();i++){
      |              ~^~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...