Somme costose:algoritmo non funzionante

l’esercizio si trova negli allenmaneti e si chiama somme costose. non riesco a scrivere l’algoritmo funzionante. riporto cosa ho fatto: l’idea almeno è giusta? qualcuno che l’ha risolto sa qual è la soluzione? cosa potrebbe esserci di errato nel mio codice? grazie mille

#include <iostream>

#include <vector>

#include <algorithm>

int namespace std;

int main(){

  freopen("input3.txt", "r", stdin);

  freopen("output3.txt", "w", stdout);

  int N;

  vector <int> lista;

  c >> N >> endl;

  int min;

  for (int i = 0; i < N; i++){

    int p;

    cin >> p;

    lista.push_back(p);

    if (i=0){

      min=p;

    }else{

      if (p<min){

        min=p;

      }

    }

  }

  int somma=min;

  int risultato=0;

  lista.erase(min);

  for (int i = 0; i < lista.size(); i++){

    min=lista[0];

    for (int j = 0; i < lista.size(); j++){

      if (lista[j]<min){

        min=lista[j];

      }

    }

    somma+=min;

    risultato+=somma;

    lista.erase(min);

  }

  cout << risultato;

}

Non compila, ti consiglio di provare le soluzioni prima in locale, sia compilarle che testare che funzionino i casi di esempio.

non voglio far finta di aver capito. è la prima volta che approccio il linguaggio C e ho solo scritto due anni fa in phyton quindi non so bene cosa fare…

E’ molto difficile testare e debuggare problemi se non puoi runnarli in locale, quindi ti conviene fare in modo di riuscire a compilare.
Su linux ti basta installare gcc col package manager.
Su windows altra roba.