제출 #1348250

#제출 시각아이디문제언어결과실행 시간메모리
1348250thesentro이주 (IOI25_migrations)C++20
0 / 100
20 ms648 KiB
#include "migrations.h"
#include <bits/stdc++.h>
using namespace std;
#define ll long long

vector<ll>dp(3e4, 0);
ll l = 0, id = 0;
vector<ll>bit;
ll find(ll N)
{
	ll mx = 0;
	for (int i=0 ; i<N ; i++)
		mx = max(mx, dp[i]);
	for (int i=0 ; i<N ; i++)
	{
		if (mx==dp[i])
			return i;
	}
}
int send_message(int N, int i, int Pi) {
	dp[i] = dp[Pi] + 1;
	if (i>=9985 and find(N)==i)
		return 2;
	if (i==9985)
	{
		ll val = find(N);
		for (int j=0 ; j<15 ; j++)
		{
			if ((1<<j)&val)
				bit.push_back(1);
			else
				bit.push_back(0);
		}
	}
	if (i>=9985)
		return bit[id++];
	return 0;
}

std::pair<int, int> longest_path(std::vector<int> S) {
	ll idx = -1;
	for (int i=S.size()-1 ; i>=0 ; i--)
	{
		if (S[i]==2)
		{
			idx = i;
			break;
		}
	}
	if (idx!=-1) return make_pair(0, idx);
	ll res = 0;
	for (int i=9985 ; i<=9999 ; i++)
	{
		if (S[i]) res += (1<<(i-9985));
	}
	return make_pair(0, res);
}

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

migrations.cpp: In function 'long long int find(long long int)':
migrations.cpp:19:1: warning: control reaches end of non-void function [-Wreturn-type]
   19 | }
      | ^
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...