제출 #1202987

#제출 시각아이디문제언어결과실행 시간메모리
1202987notme식물 비교 (IOI20_plants)C++20
0 / 100
35 ms7996 KiB
#include "plants.h"
#include <bits/stdc++.h>
#define pb push_back
using namespace std;
const int maxn = 2e5 + 10;
vector < int > g[maxn]; /// higher -> lower

vector < int > path;
int used[maxn];
void dfs(int beg)
{
    used[beg] = 1;
    for (auto nb: g[beg])
    {
        if(used[nb])continue;
        dfs(nb);
    }
    path.pb(beg);
}
int hi[maxn];
int val[maxn];
void init(int k, std::vector<int> r)
{
    int n = r.size();
    if(k == 2)
    {
        int nxt = 0;
        for (int i = 0; i < n; ++ i)
        {
            nxt = i + 1;
            nxt %= n;
            if(r[i] == 1)g[nxt].pb(i);
            else g[i].pb(nxt);
        }
    }
    else if(2*k > n)
    {
        int nxt = n - k;
        for (int i = 0; i < n; ++ i)
        {

            if(r[i] > r[nxt])g[nxt].pb(i);
            else if(r[i] < r[nxt])g[i].pb(nxt);
            else cout << "greshno" << endl;
            nxt ++;
            nxt %= n;
        }
    }
    for (int i = 0; i < n; ++ i)
    {
        for (auto lo: g[i])
            hi[lo] = 1;
    }
    for (int i = 0; i < n; ++ i)
    {
        if(hi[i])continue;
        dfs(i);
    }
    reverse(path.begin(), path.end());
    int currv = n;
    for (auto v: path)
    {
        currv --;
        val[v] = currv;
    }
	return;
}

int compare_plants(int x, int y)
{
    if(val[x] > val[y])return 1;
    else return -1;
   /* memset(used, 0, sizeof(used));
    dfs(x);
    if(used[y])return 1;
    memset(used, 0, sizeof(used));
    dfs(y);
    if(used[x])return -1;
	return 0;*/
}
#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...