题解 | #Grading#
Grading
https://www.nowcoder.com/practice/23e3244406724ffa8330760f640c8149
#include <iostream> #include<cmath> using namespace std; bool PP(int P, int G1, int G2, int G3) { if (G1 > P|| G2 > P|| G3 > P) { return false; } return true; } int main() { int P, T, G1, G2, G3, GJ; float X; cin >> P >> T >> G1 >> G2 >> G3 >> GJ; PP(P, G1, G2, G3); if (abs(G1 - G2) <= T) { X = (G1 + G2) / 2.0; printf("%.1f", X); } else { if (abs(G1 - G3) <= T && abs(G2 - G3) > T) { X = (G1 + G3) / 2.0; printf("%.1f", X); } else if (abs(G2 - G3) <= T && abs(G1 - G3) > T) { X = (G2 + G3) / 2.0; printf("%.1f", X); } else if (abs(G1 - G3) <= T && abs(G2 - G3) <= T) { X = max(G1, max(G2, G3)); printf("%.1f", X); } else if (abs(G1 - G3) > T && abs(G2 - G3) > T) { X = GJ; printf("%.1f", X); } } }