Cod sursa(job #1435552)

Utilizator depevladVlad Dumitru-Popescu depevlad Data 13 mai 2015 19:28:33
Problema Carnati Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.19 kb
#include <fstream>
#include <vector>

using namespace std;

ifstream in("ksecv3.in");
ofstream out("ksecv3.out");

const int MAX_N = 100000;

vector < int > sol;

int main() {
    int n, k, i, elem, cnt_secv = 0;
    long long s = 0, curr_s = 0;
    
    in >> n >> k;
    for(i = 1; i <= n; i++) {
        in >> elem;
        s += elem;
    }
    if(s % k) {
        out << "-1";
        return 0;
    }
    else
        s /= k;
        
    in.clear();
    in.seekg(0, ios::beg);
    in >> n >> k;
        
    for(i = 1, curr_s = 0; i <= n; i++) {
        in >> elem;
        if(curr_s + elem < s) 
            curr_s += elem;
        else if(curr_s + elem > s) {
            out << "-1";
            return 0;
        }
        else {
            cnt_secv++;
            curr_s = 0;
        }
    }
    
    if(cnt_secv != k) {
        out << "-1";
        return 0;
    }
    
    in.clear();
    in.seekg(0, ios::beg);
    in >> n >> k;
    
    for(i = 1, curr_s = 0; i <= n; i++) {
        in >> elem;
        curr_s += elem;
        if(curr_s == s) {
            out << i << ' ';
            curr_s = 0;
        }
    }
    
    return 0;
}