Submission #576480

#TimeUsernameProblemLanguageResultExecution timeMemory
576480juggernautNewspapers (CEOI21_newspapers)C++14
4 / 100
1 ms212 KiB
#include<bits/stdc++.h>
#define fr first
#define sc second
using namespace std;
typedef long long ll;
typedef long double ld;
#define USING_ORDERED_SET 0
#if USING_ORDERED_SET
#include<bits/extc++.h>
using namespace __gnu_pbds;
template<class T>using ordered_set=tree<T,null_type,less<T>,rb_tree_tag,tree_order_statistics_node_update>;
#endif
template<class T>void umax(T &a,T b){if(a<b)a=b;}
template<class T>void umin(T &a,T b){if(b<a)a=b;}
#ifdef juggernaut
    #define printl(args...)printf(args)
#else
    #define printl(args...)((void)0)
#endif
int main(){
	int n;
	cin>>n;
	if(n==1){
		puts("YES\n1\n1");
		return 0;
	}else if(n==2||n==3){
		puts("YES\n2\n2 2");
		return 0;
	}
	vector<int>vec;
	if(n&1){
		for(int i=2;i<n;i++)vec.push_back(i);
		for(int i=2;i<n;i++)vec.push_back(i);
	}else{
		for(int i=2;i<n;i++)vec.push_back(i);
		for(int i=1;i<n;i++)vec.push_back(i);
		vec.clear();
		vec.push_back(1);
	}
	printf("YES\n%d\n",int(vec.size()));
	for(int to:vec)printf("%d ",to);
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...