Pagini recente » Cod sursa (job #801197) | Cod sursa (job #1097300) | Cod sursa (job #2580481) | Cod sursa (job #85385) | Cod sursa (job #1995311)
#include <iostream>
#include <vector>
#include <fstream>
#include <climits>
#define INFILE "ssm.in"
#define OUTFILE "ssm.out"
using namespace std;
ifstream in(INFILE);
ofstream out(OUTFILE);
struct Rasp{
int smax;
int in;
int fin;
void operator=(Rasp other){
smax=other.smax;
in=other.in;
fin=other.fin;
}
};
int main()
{
int n;
in>>n;
vector<int> Vec;
for(int i=0;i<n;i++){
int temp;
in>>temp;
Vec.push_back(temp);
}
Rasp SC;
SC.smax=0;
Rasp rasp;
rasp.smax=INT_MIN;
/*for(auto x: Vec){
if(sc<0){
sc=0;
}
sc+=x;
if(sc>smax){
smax=sc;
}
}*/
SC.in=0;
for(int i=0;i<Vec.size();i++){
int x=Vec[i];
if(SC.smax<0){
SC.in=i;
SC.smax=0;
}
SC.smax+=x;
SC.fin=i;
if(SC.smax>rasp.smax){
rasp=SC;
}
}
out<<rasp.smax<<" "<<rasp.in+1<<" "<<rasp.fin+1;
return 0;
}