Районная олимпиада по информатике. 2016-2017 учебный год.
Есеп F. Массив
Сізге ұзындығы $n$ болатын $A$ массиві берілген. Сіз осы массивтің элементтерін алып тастай аласыз. Сізге элементтерді алып тастау арқылы массивті оспелі ету қажет. Соңында пайда болған өспелі массивтің ең үлкен бола алатын ұзындығын табу керек.
4 4 1 2 3Ответ
3
Комментарий/решение:
#include <iostream>
using namespace std;
int main(){
int n;
cin >> n;
int arr[n];
int res[n];
res[0] = arr[0];
for (int i = 0; i < n; i++) {
cin >> arr[i];
}
int j = 0;
for (int i = 1; i < n; i++) {
if (arr[i] < res[j]) {
res[j] = arr[i];
} else {
res[++j] = arr[i];
}
}
cout << j + 1;
}
#include <iostream>
using namespace std;
int main(){
int n;
cin >> n;
int arr[n];
int res[n];
res[0] = arr[0];
for (int i = 0; i < n; i++) {
cin >> arr[i];
}
int j = 0;
for (int i = 1; i < n; i++) {
if (arr[i] < res[j]) {
res[j] = arr[i];
} else {
res[++j] = arr[i];
}
}
cout << j + 1;
}
#include<bits/stdc++.h>
using namespace std;
#define ll long long
int main () {
ios_base::sync_with_stdio(0);
cin.tie(0);cout.tie(0);
ll n, ans=0;
cin>>n;
ll a[n];
for(ll i=0;i<n;i++)cin>>a[i];
for(ll i=0;i<n;i++){
if((a[i]>a[i+1] || a[i-1]+1!=a[i]) && i>0)ans++;
}
cout<<n-ans;
}
коды людей ниже вполне работоспособны, но у многих при вводе данных
/{ 1, 2, 3, 1, 2, 3/} код выдает неправильный рез, ведь они удаляют лишь последний неправильный элемент, в то время как их может быть больше(способ решения напоминает стеки)
#include <bits/stdc++.h>
using namespace std;
#define ll long long
const int INF = 1e9;
const pair<ll,ll> INF_PAIR = {-1e9,-1e9};
int main(){
//freopen("input.txt", "r", stdin);
//freopen("output.txt", "w", stdout);
int n;
cin >> n;
vector<int> a(n);
for(int &el : a) cin >> el;
vector<int> res;
res.push_back(a.front());
for(int i = 1; i < n; ++i){
int ai = a[i];
if(res.back() >= ai){
while(!res.empty() && res.back() >= ai){
res.pop_back();
}
}
res.push_back(ai);
}
//for(int &el : res) cout << el << ' '; // to easyCheck
cout << res.size();
}
Возможно, что при неправильном наборе формул, они будут
доредактированы модератором. При этом содержание не будет меняться.