제출 #791772

#제출 시각아이디문제언어결과실행 시간메모리
791772ezzzaySplit the Attractions (IOI19_split)C++14
18 / 100
87 ms66872 KiB
#include "split.h"
#include <cstdio>
#include <cassert>
#include<bits/stdc++.h>
using namespace std;
const int N=2e6+5;
vector<int>v[N];
bool vis[N];
vector<int>ans;
void dfs(int a){
    vis[a]=1;
    ans.push_back(a);
    for(auto b:v[a]){
        if(vis[b]==0)dfs(b);
    }
}
vector<int> find_split(int n, int a, int b, int c, vector<int> p, vector<int> q) {
    vector<pair<int,int>>f;
    f.push_back({a,1});f.push_back({b,2});f.push_back({c,3});
	sort(f.begin(),f.end());
    for(int i=0;i<p.size();i++){
        v[p[i]].push_back(q[i]);
        v[q[i]].push_back(p[i]);
    }
	vector<int> res;
	dfs(0);
	int arr[N];
	while(a--){
	    arr[ans[ans.size()-1]]=1;
	    ans.pop_back();
	}
	while(b--){
	    arr[ans[ans.size()-1]]=2;
	    ans.pop_back();
	}
	while(c--){
	    arr[ans[ans.size()-1]]=3;
	    ans.pop_back();
	}
	for(int i=0;i<n;i++){
	    res.push_back(arr[i]);
	}
   return res;
}

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

split.cpp: In function 'std::vector<int> find_split(int, int, int, int, std::vector<int>, std::vector<int>)':
split.cpp:21:18: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   21 |     for(int i=0;i<p.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...