贪心算法
#include <iostream>
using namespace std;
const int N = 2 * 100010;
int a[N];
int main() {
int n;
cin >> n;
for(int i = 0; i < n; i ++) cin >> a[i];
int maxReach = 0;
int i;
for(i = 0; i < n; i ++){
if(i > maxReach){
cout << "false" << endl;
break;
}
maxReach = max(maxReach, i + a[i]);
}
if(i >= n) cout << "true" << endl;
return 0;
}

京公网安备 11010502036488号