Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- Author: Cao Beijian(37509)
- Result: AC Submission_id: 4278539
- Created at: Tue Apr 05 2022 21:26:25 GMT+0800 (China Standard Time)
- Problem: 5479 Time: 5 Memory: 1756
- */
- #include <stdio.h>
- #include <math.h>
- double max_f64(double *arr, int n){
- int i;
- double ans = arr[0];
- for(i = 1; i < n; i++){
- if(arr[i] > ans){
- ans = arr[i];
- }
- }
- return ans;
- }
- int main(){
- int n, i, j, m;
- scanf("%d", &n);
- int id[64] = { 0 };
- double gpajq[64] = { 0 }, rykjq[64] = { 0 }, credits[64] = { 0 };
- double gpasum, honorsum, honorcnt;
- double M1, M2, M3;
- double grade, credit;
- int honor;
- for(i = 0; i < n; i++){
- gpasum = 0; honorcnt = 0; honorsum = 0;
- scanf("%d%d", id + i, &m);
- for(j = 0; j < m; j++){
- scanf("%lf%lf%d", &credit, &grade, &honor);
- if(grade >= 60.){
- gpasum += (credit * (4. - 3. * pow(100 - grade, 2) / 1600.));
- }
- credits[i] += credit;
- if(honor){
- honorsum += grade * credit;
- honorcnt += credit;
- }
- }
- gpajq[i] = gpasum / credits[i];
- rykjq[i] = honorsum / honorcnt;
- }
- M1 = max_f64(gpajq, n);
- M2 = max_f64(rykjq, n);
- M3 = max_f64(credits, n);
- for(i = 0; i < n; i++){
- printf("%d %.4f\n", id[i], gpajq[i] / M1 * 50. + rykjq[i] / M2 * 30. + credits[i] / M3 * 20.);
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment