제출 #1284295

#제출 시각아이디문제언어결과실행 시간메모리
1284295alizhanRabbit Carrot (LMIO19_triusis)C++20
100 / 100
20 ms4168 KiB
#include <bits/stdc++.h> using ll = long long; using namespace std; const int mod = 998244353; const int N = (int)1e4 + 7; #define endl '\n' #define skip continue #define uno first #define duo second #define YES cout<<"YES"<<'\n' #define NO cout<<"NO"<<'\n' #define GO while(tt--) #define ins insert #define pb push_back #define all(x) x.begin(), x.end() #define forest signed #define Kaldun cin.tie(0)->sync_with_stdio(0) #define int long long int bp(int a, int n) { if(n == 0) return 1; if(n % 2 == 1) return (bp(a, n-1) * 1LL * a) % mod; long long b = bp(a, n/2); return (b * b) % mod; } signed main() { //freopen("time.in", "r", stdin); //freopen("time.out", "w", stdout); Kaldun; int n,x; cin>>n>>x; int a[n+1]; for(int i=1;i<=n;i++){ cin>>a[i]; } /* int dp[n+1][3]{}; for(int i=1;i<=n;i++){ for(int j=1;j<=2;j++){ dp[i][j] = -1; } } */ vector<int>v; for(int i=1;i<=n;i++){ if(a[i] <= i*x){ int cnt = i*x - a[i]; auto pos = upper_bound(v.begin(),v.end(),cnt) ; //cout<<upper_bound(v.begin(),v.end(),cnt) - v.begin()<<endl; if(pos == v.end()) v.push_back(cnt); else *pos = cnt; } } cout<<n-v.size()<<endl; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...