Pagini recente » Cod sursa (job #3269164) | Cod sursa (job #2292047) | Cod sursa (job #36626) | Cod sursa (job #16799) | Cod sursa (job #3261046)
#include <fstream>
using namespace std;
ifstream in("ssm.in");
ofstream out("ssm.out");
int n, v[1001], st, dr, stmax, drmax, cont, i, elementmax=-99999, pozmax=0;
long long smax=0, s=0;
void afisare (int suma, int pozitie1, int pozitie2);
int main()
{
in>>n;
for(i=1 ; i<n+1 ; i++){
in>>v[i];
if (elementmax<v[i]) {
elementmax=v[i];
pozmax=i;
}
if (v[i]<0) cont++;
if (s<0) {
s=v[i];
st=i;
} else {
s=s+v[i];
dr=i;
}
if (s>smax) {
smax=s;
stmax=st;
drmax=dr;
}
}
if(drmax==1) drmax=stmax;
if (smax==elementmax) {
afisare(elementmax, pozmax, pozmax);
return 0;
}
if (cont==n) {
afisare(elementmax, pozmax, pozmax);
return 0;
}
afisare(smax, stmax, drmax);
return 0;
}
void afisare (int suma, int pozitie1, int pozitie2)
{
out<<suma<<" "<<pozitie1<<" "<<pozitie2;
}