Sand Buckets aiuto

Salve, sto provando a risolvere questo problema
ma non riesco a risolver pur essendo molto facile. Aiuto?

Prova a spiegare come hai tentato di risolverlo per adesso, eventualmente postando il codice che hai scritto.

#include <stdio.h>

int main(){
    //dichiarazione variabili
    int a, b, T;
    
    //inserimento valori
    
    FILE *fw, *fr;
    fr = fopen("input.txt", "r");
    fscanf(fr, "%d", &a);
    
    for(int i; i<a; i++){
        if(i<a){
         printf("Ok.");
        } else {
         printf("Impossible.");
        }
    }
   
    return 0;
}

premetto che il codice è in C

Prova a spiegare quello che cerchi di fare, in ogni caso non so se hai capito correttamente il problema in quanto non leggi nemmeno tutto l’input.

Essendo che non conosco la funzione sort, non so come continuare a risolverlo…
Comunque dovrei riordinare l’array e vedere se i valori sono diversi per far si che i secchi entrino negli altri…

Da come vedo non leggi tutto l’input ma ti fermi a leggere solo il primo valore (quello che nel testo è chiamato N), ed ignori gli N interi Di.
Per quanto riguarda la funzione sort non conosco bene il c (credo ci sia una funzione chiamata qsort() ma non ne so abbastanza da aiutarti), ma in c++ puoi utilizzare la funzione definita nella stl std::sort

hey ciao, semplicemente il per usare correttamente il sort dovresti ordinarlo dal primo all’ultimo, mi spiego: sort(vector.begin(), vector.end());
con: vector.begin: inizio del vector, e vector.end: fine del vector

per questo tipo di problema ti consiglio di ordinare il vettore in modo decrescente usando il “greater<>” mettendo tra le parentesi il tipo di variabile.

dovrebbe uscire una cosa del genere: sort(vector.begin(), vector.end(), greater);