제출 #77945

#제출 시각아이디문제언어결과실행 시간메모리
77945SaboonLottery (CEOI18_lot)C++14
45 / 100
579 ms9688 KiB
#include <iostream>
#include <queue>
#include <stack>
#include <cstdlib>
#include <vector>
#include <cstring>
#include <cmath>
#include <cassert>
#include <unordered_set>
#include <map>
#include <deque>
#include <unordered_map>
#include <fstream>
#include <set>
#include <algorithm>
#include <iomanip>
#define fin cin
#define fout cout
#define F first
#define S second
#define PB push_back
#define PF push_front
#define MP make_pair
using namespace std;
typedef long long ll;
typedef long double ld;
typedef pair<ll,ll> pll;
typedef pair<int,int> pii;
typedef unsigned long long ull;
 
const int maxn = 2e3 + 10;
 
int n, l;
 
int a[maxn];
 
int k = -1;
 
int similar (int fi, int se) {
    int ret = 0;
    for (int x = 0; x < l; x++) {
        ret += (a[fi + x] != a[se + x]);
    }
    return ret;
}
 
int d[maxn][maxn];
 
int ans[10005];
void solve () {
    int q;
    cin >> q >> k;
    for (int i = 0; i < n - l + 1; i++) {
        int cnt = 0;
        for (int j = i + 1; j < n - l + 1; j++) {
            if (similar (i, j) <= k) {
                ans[i] ++;
                ans[j] ++;
            }
        }
    }
  for (int i = 0; i < n - l + 1; i++)
    cout << ans[i] << " ";
  cout << endl;
}
 
int main () {
    ios_base::sync_with_stdio(false);
    cin >> n >> l;
    for (int i = 0; i < n; i++)
        cin >> a[i];
    if (n > 2000) {
        solve ();
        return 0;
    }
    for (int i = 0; i < n - l + 1; i++) {
        for (int j = i + 1; j < n - l + 1; j++) {
            int x = similar (i, j);
            d[i][x] ++;
            d[j][x] ++;
        }
    }
    for (int i = 0; i < n - l + 1; i++) {
        for (int j = 0; j <= l; j++) {
            d[i][j + 1] += d[i][j];
        }
    }
    int q;
    cin >> q;
    for (int i = 0; i < q; i++) {
        int m;
        cin >> m;
        for (int j = 0; j < n - l + 1; j++)
            cout << d[j][m] << " ";
        cout << endl;
    }
}

컴파일 시 표준 에러 (stderr) 메시지

lot.cpp: In function 'void solve()':
lot.cpp:54:13: warning: unused variable 'cnt' [-Wunused-variable]
         int cnt = 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...