Programatorii de pe Wall Street se confruntă cu o problemă căreia nu îi pot face față de unii singuri. Numărul investitorilor a crescut brusc în ultima perioadă, iar acțiunile acestora nu sunt în siguranță fără ca programatorii să aibă situația sub control.
Cerință
Dându-se numărul de acțiuni, cel al investitorilor și câți bani investește/retrage un investitor și știindu-se ca inițial acțiunile sunt nule, afișați cât vor valora acțiunile dupa investițiile sau retragerea de bani a investitorilor.
Date de intrare
Fisierul de intrare investitie.in conține pe prima linie două numere naturale n și I, iar pe următoarele I linii câte 3 elemente, st, dr și S, reprezentând că toate acțiunile cu indicii cuprinși între st și dr își măresc valoarea cu S.
Date de ieșire
Fișierul de ieșire investitie.out va conține n numere întregi, reprezentând valorile acțiunilor finale.
Restricții si precizări
• 1 ≤ n, I ≤ 200.000;
• 1 ≤ st ≤ dr ≤ n;
• -1000 ≤ S ≤ 1000
Exemplu
investitie.in investitie.out
12 7
4 7 -1
6 11 8
3 5 2
1 4 -4
9 11 5 -4 -4 -2 -3 1 10 10 10 15 15 15 10
Răspunsuri la întrebare
Răspuns de
0
#include<fstream>
using namespace std;
ifstream in(investitie.in);
ofstream out(investitie.out);
int v[200001];
int main()
{ int n, L,st,dr,s,i,j;
in>>n>>L;
for( i=1;i<=L;i++)
{in>>st>>dr>>s;
for(j=st;j<=dr;j++)
v[j[=v[j]+s;
}
for(int i=1i<=n;i++)
out<<v[i]<<" ";
in.close();
out.close();
}
Alte întrebări interesante
Limba română,
8 ani în urmă
Matematică,
8 ani în urmă
Matematică,
8 ani în urmă
Limba română,
8 ani în urmă
Fizică,
9 ani în urmă
Matematică,
9 ani în urmă