제출 #195578

#제출 시각아이디문제언어결과실행 시간메모리
195578theStaticMindMeetings (JOI19_meetings)C++14
29 / 100
3052 ms5060 KiB
#include "meetings.h"
#include<bits/stdc++.h>
#define pb push_back
#define ii pair<int,int>
#define all(x) (x).begin(),(x).end()
using namespace std;

void dp(vector<int>& data,int curr){
      if(data.empty())return;
      int big=data[0];
      vector<int>sub,other;
      set<int> vis;
      sub.pb(big);
      vis.insert(big);
      for(int i=1;i<data.size();i++){
            if(data[i]==big){
                  if(!vis.count(big)){
                        vis.insert(big);
                        sub.pb(big);
                  }
                  continue;
            }
            int q=Query(big,curr,data[i]);
            if(q==curr)other.pb(data[i]);
            else{
                  sub.pb(data[i]);
                  vis.insert(data[i]);
                  big=q;
            }
      }
      Bridge(min(curr,big),max(curr,big));

      sub.erase(find(all(sub),big));
      dp(sub,big);
      dp(other,curr);
}
void Solve(int N){
      srand(time(NULL));
      vector<int>arr;
      int x=rand()%N;
      for(int i=0;i<N;i++)arr.pb(i);
      arr.erase(arr.begin()+x);
      for(int i=0;i<1e5;i++)swap(arr[rand()%(N-1)],arr[rand()%(N-1)]);
      dp(arr,x);
}

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

meetings.cpp: In function 'void dp(std::vector<int>&, int)':
meetings.cpp:15:20: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
       for(int i=1;i<data.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...