Submission #234872

#TimeUsernameProblemLanguageResultExecution timeMemory
234872mahmoudbadawySirni (COCI17_sirni)C++17
0 / 140
479 ms118520 KiB
#include <bits/stdc++.h>

using namespace std;

const int N=1e7+7;

int n;
int got[N],vis[N],inarr[N];

int main()
{
	scanf("%d",&n);
	int mn=N;
	for(int i=0;i<n;i++)
	{
		int x;
		scanf("%d",&x);
		got[x]=1; inarr[x]=1;
		mn=min(mn,x);
	}
	vis[mn]=1;
	for(int i=1;i<N;i++)
	{
		if(!got[i]) continue;
		if(vis[i]==0 || i==mn)
		{
			for(int j=2*i;j<N;j+=i)
			{
				if(inarr[j]) vis[i]|=vis[j];
				vis[j]=got[j]=1;
			}
		}
	}
	long long ans=0,las=-1;
	for(int i=1;i<N;i++)
	{
		if((!vis[i]) && inarr[i]) ans+=i-las;
		if(got[i]) las=i;
	}
	cout << ans << endl;
}

Compilation message (stderr)

sirni.cpp: In function 'int main()':
sirni.cpp:12:7: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
  scanf("%d",&n);
  ~~~~~^~~~~~~~~
sirni.cpp:17:8: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
   scanf("%d",&x);
   ~~~~~^~~~~~~~~
#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...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...