// مرتب سازی در صورت نیاز انجام شود
for(int i = 0 ; i < n ; ++i){
    double v=min(W,w[i]);
    W-=v;
    ans+=v*c[i];
}    