Cod sursa(job #375294)

Utilizator alexandru92alexandru alexandru92 Data 20 decembrie 2009 09:28:16
Problema Subsecventa de suma maxima Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 1 kb
/* 
 * File:   main.cpp
 * Author: virtualdemon
 *
 * Created on December 20, 2009, 9:04 AM
 */
#include <vector>
#include <fstream>
#include <iterator>
#include <algorithm>
#define pb push_back
#define inif 1<<30

/*
 *
 */
using namespace std;
ifstream in;
ofstream out;
vector<int> v;
inline bool cmp( int x, int y )
{
    return x > y;
}
/*
int main()
{int n, s, S, x, i;
    in.open("secv9.in");
    in>>n>>s;
    copy( istream_iterator<int>(in), istream_iterator<int>(), back_inserter(v) );
    sort( v.begin(), v.end(), cmp );
    S=v[0];
    for( i=1; i < n && S >= s; ++i, S+=v[i] );
    out.open("secv9.out");
    out<<(i+1);
    return 0;
} */
int main()
{
    int n, s, S, i;
    in.open("ssm.in");
    in>>n;
    copy( istream_iterator<int>(in), istream_iterator<int>(), back_inserter(v) );
    sort( v.begin(), v.end(), cmp );
    if( v[0] < 0 )
    {
        out.open("ssm.out");
        out<<v[0];
        return 0;
    }
    for( s=i=0; i < n && v[i] > 0; ++i, s+=v[i] );
    out.open("ssm.out");
    out<<s;
}