LittleFall's blog

By LittleFall, history, 3 years ago, In English

link

my Chinese blog https://blog.csdn.net/m0_37809890/article/details/80153601

code

/* LittleFall : Hello! */
#include <bits/stdc++.h>
typedef long long ll;
using namespace std;
inline int read();
inline void write(int x);
const int M = 1024;
int save[M];

int main(void)
{
	int n=read(),ans=0;
	for(int i=1;i<=n;i++)
		save[i]=read();
	int vecs=save[n]+1;

	int r=n,l=1,ready=0;
	for(int vec=1;vec<vecs;vec++)
	{
		if(save[l]<=ready)
			l++,r--;	
		else if(ready+vecs-vec==save[r])
			ready++,ans+=vecs-vec;
	}
	printf("%d\n",ans );

	r=n,l=1,ready=0;
	for(int vec=1;vec<vecs;vec++)
	{
		if(save[l]<=ready)
			l++,r--;
		else if(ready+vecs-vec==save[r])
		{
			for(int j=vec+1;j<=vecs;j++)
				printf("%d %d\n",vec,j );
			ready++;
			ans+=vecs-vec;
		}
	}

	return 0;
}


inline int read()
{
	int x=0,f=1;char ch=getchar();
	while(ch<'0'||ch>'9') {if(ch=='-')f=-1;ch=getchar();}
	while(ch>='0'&&ch<='9'){x=x*10+ch-'0';ch=getchar();}
	return x*f;
}
inline void write(int x)
{
     if(x<0) putchar('-'),x=-x;
     if(x>9) write(x/10);
     putchar(x%10+'0');
}

Read more »

 
 
 
 
  • Vote: I like it
  • -18
  • Vote: I do not like it