Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <fstream>
- using namespace std;
- int n,p[100001],P;
- struct interval
- {
- int s,d;
- };
- typedef interval INTERVAL;
- INTERVAL SD[100001];
- void citire()
- {
- ifstream f("chimic.in");
- f>>n;
- for(int i=1;i<=n;++i)
- f>>p[i];
- for(int i=1;i<=n;++i)
- f>>SD[i].s>>SD[i].d;
- f.close();
- }
- int D[100001];
- int maxim(int st,int dr)
- {
- int Max=D[st];
- for(int j=st;j<=dr;++j)
- if(D[j]>Max)
- Max=D[j];
- return Max;
- }
- int main()
- {
- citire();
- ofstream g("chimic.out");
- for(int i=1;i<=n;++i)
- for(int j=1;j<=n;++j)
- if(SD[i].s==-1&&SD[i].d==-1)
- D[i]=p[i];
- else
- D[i]=p[i]+maxim(SD[i].s,SD[i].d);
- g<<D[n];
- g.close();
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement