View Code of Problem 3861

#include <algorithm>
#include <cctype>
#include <climits>
#include <cmath>
#include <cstdio>
#include <cstring>
#include <iostream>
#include <map>
#include <set>
#include <stack>
#include <string>
#include <vector>
using namespace std;

struct S{
    string name;
    double power, value;
    double pv;
};

bool cmp(S a ,S b){
    return a.pv > b.pv;
}

int main(void)
{
    int T, n;
    cin >> T;
    while(T--){
        cin >> n;
        getchar();
        S s[n];
        for (int i = 0; i< n;i++){
            cin >> s[i].name;
            cin >> s[i].power >> s[i].value;
            s[i].pv = s[i].power / s[i].value;
            getchar();
        }
        sort(s, s + n, cmp);
        for (int i = 0; i < n;i++){
            cout << i + 1<< " ";
            cout << s[i].name << " ";
            cout << s[i].power << " " << s[i].value << endl;
        }
    }
}

Double click to view unformatted code.


Back to problem 3861