Pagini recente » Cod sursa (job #3000817) | Cod sursa (job #241357) | Cod sursa (job #122794) | Cod sursa (job #614727) | Cod sursa (job #2404895)
#include<bits/stdc++.h>
using namespace std;
const char iname[]="zapada.in";
const char oname[]="zapada.out";
const int maxn=100005;
ifstream f(iname);
ofstream g(oname);
vector<int> E[maxn];
int been[maxn],many[maxn],k,n,m,i,x,y,start;
void dfs(int x,int type)
{
if(been[x])
return;
been[x]=1;
for(vector<int>::iterator it=E[x].begin();it!=E[x].end();++it)
if(been[*it]==0)
dfs(*it,type);
if(type==1)
many[x]=k--;
}
int main()
{
f>>n>>m;#include <fstream>
using namespace std;
long long p[101],d[101];
long long t,i,k,n,b,nr,j,Min,s;
int main() {
ifstream f("zero2.in");
ofstream g("zero2.out");
for(t=10;t>0;t--) {
f>>n>>b;
k=0;
for(i=2;i*i<=b;i++) {
if(b%i==0) {
k++;
d[k]=i;
p[k]=0;
while(b%i==0) {
b/=i;
p[k]++;
}
}
}
if(b>1) {
k++;
d[k]=b;
p[k]=1;
}
Min=(1LL<<62);
for (i=1;i<=k;i++) {
s=0;
for(j=d[i];j<=n;j*=d[i]) {
nr=n/j;
nr=nr*(nr-1)/2*j+nr*(n-nr*j+1);
s+=nr;
}
s/=p[i];
if (s<Min) {
Min=s;
}
}
g<<Min<<"\n";
}
return 0;
}
for(i=1;i<=m;++i)
f>>x>>y,E[y].push_back(x);
for(i=1;i<=n;++i)
if(!been[i])
dfs(i,0),start=i;
k=n;
memset(been,0,sizeof(been));
dfs(start,1);
for(i=1;i<=n;++i)
g<<many[i]<<"\n";
}