PAT 1060 愛丁頓數(累加思想)
阿新 • • 發佈:2018-12-21
哎喲……又要難死了……這個人啊……真的不行啊……
題目等暫時略掉。
求滿足有 E 天騎車超過 E 英里的最大整數 E。
10
6 7 6 9 3 10 8 2 7 8
已案例為例,排好序,因為最大的數一定會比第E天大,所以乾脆排個序。
E天 E
1 10 1天超過了1公里(指E=10) E=1
2 9 2天超過了2公里(指E=10 && E=9) E=2
3 8 3天超過了3公里(指前三個 下略)E=3
4 8 4天超過了4公里
5 7 5天超過了5公里
6 7 6天超過了6公里
7 6 7天但是超過7的數只有4個 所以到這裡就停止了 可以退出了。
8 6
9 3
10 2
#include <iostream> #include <iomanip> #include <math.h> #include <stdio.h> #include <string> #include <cstring> #include <cstdio> #include <algorithm> #include <vector> #include <map> using namespace std; bool cmp(int a, int b) { return a > b; } int main() { int n; cin >> n; int a[100005] = { 0 }; for (int i = 1; i <= n; i++) { cin >> a[i]; } sort(a + 1, a + 1 + n, cmp); int maxx = 0; for (int i = 1; i <= n; i++)//第E天 檢視第E天是否大於E 若大於則E成立 { if (a[i] <= i) break; maxx++; } cout << maxx << endl; system("pause"); return 0; }
很簡單的累加,哎喲難死了,這個人怎麼回事拉