Submission #120388

#TimeUsernameProblemLanguageResultExecution timeMemory
120388raghav0307Lottery (CEOI18_lot)C++14
25 / 100
167 ms65536 KiB
/*raghav0307 - Raghav Gupta*/ #include <bits/stdc++.h> using namespace std; #define ff first #define ss second #define pb push_back #define fast_io() ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); typedef long long ll; typedef pair<int, int> pii; typedef long double ld; int dp[10005][10005]; int psum[10005][10005]; signed main(){ fast_io(); int n, l; cin >> n >> l; int a[n]; for(int i = 0; i < n; i++) cin >> a[i]; for(int i = 0; i < n; i++){ for(int j = 0; j < i; j++){ if(a[i] == a[j]) continue; psum[i-j][max(0, j-l+1)]++; psum[i-j][j+1]--; // int cnt = l; // int x = i; // int y = j; // while(x >= 0 and y >= 0 and cnt > 0){ // dp[x][y]++; // dp[y][x]++; // x--; // y--; // cnt--; // } } } for(int i = 1; i < n ; i++){ int cursum = 0; for(int j = 0; j < n-i; j++){ cursum += psum[i][j]; dp[j][i+j] += cursum; dp[i+j][j] += cursum; } } int q; cin >> q; while(q--){ int k; cin >> k; for(int i = 0; i < n-l+1; i++){ int cnt = 0; for(int j = 0; j < n-l+1; j++){ if(i == j) continue; if(dp[i][j] <= k) cnt++; // cout << "dp[" << i << "][" << j << "] " << dp[i][j] << "\n"; } cout << cnt << " "; } cout << "\n"; } return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...