Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<fstream>
- using namespace std;
- ifstream f("detdrum3.in");
- ofstream g("detdrum3.out");
- struct mor
- {
- int a,b;
- } v[101];
- bool nr[101];
- int n,p,mx=-999999999,sal[101];
- void citire()
- {
- int i;
- f>>n;
- for(i=1; i<=n; i++)
- {
- f>>v[i].a;
- nr[v[i].a]=1;
- }
- for(i=1; i<=n; i++)
- f>>v[i].b;
- }
- void mergi()
- {
- int i,j,c[101],s=0,k=0;
- for(i=1; i<=n; i++)
- {
- if(nr[i]==0)
- {
- s=0,k=0;
- j=i;
- while(j)
- {
- s+=v[j].b;
- c[++k]=j;
- j=v[j].a;
- }
- if(s>mx)
- {
- mx=s;
- p=k;
- for(j=1; j<=k; j++)
- sal[j]=c[j];
- }
- }
- }
- }
- void afisare()
- {
- g<<mx<<'\n';
- for(int i=p; i>=1; i--)
- g<<sal[i]<<" ";
- }
- int main()
- {
- citire();
- mergi();
- afisare();
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement