제출 #359702

#제출 시각아이디문제언어결과실행 시간메모리
359702ogibogi2004DEL13 (info1cup18_del13)C++14
6 / 100
24 ms8428 KiB
#include<bits/stdc++.h>
using namespace std;
const int MAXN=1e5+6;
bool dp[MAXN][3];
vector<int>last[MAXN][3];
void solve()
{
	int n,q;
	cin>>n>>q;
	vector<int>v;
	v.push_back(0);
	for(int i=0;i<q;i++)
	{
		int p;
		cin>>p;
		v.push_back(p);
	}
	v.push_back(n+1);
	for(int i=0;i<=v.size();i++)
	{
		for(int j=0;j<3;j++)
		{
			dp[i][j]=0;
			last[i][j].clear();
		}
	}
	dp[0][0]=1;
	for(int i=1;i<v.size();i++)
	{
		int t=v[i]-v[i-1]-1;
		vector<int>moves;
		int mid=(v[i]+v[i-1])/2;
		while(t>2)
		{
			moves.push_back(mid);
			t-=2;
		}
		for(int j=0;j<=t;j++)
		{
			if(dp[i-1][j])
			{
				vector<int>l=moves;
				for(int k=0;k<j;k++)
				{
					l.push_back(v[i-1]);
				}
				dp[i][t-j]=1;
				last[i][t-j]=l;
			}
		}
	}
	if(dp[v.size()-1][0])
	{
		cout<<"0\n";
	}
	else
	{
		cout<<"-1\n";
	}
}	
int main()
{
	int t;
	cin>>t;
	while(t--)solve();
return 0;
}

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

del13.cpp: In function 'void solve()':
del13.cpp:19:15: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   19 |  for(int i=0;i<=v.size();i++)
      |              ~^~~~~~~~~~
del13.cpp:28:15: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   28 |  for(int i=1;i<v.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...