제출 #1317481

#제출 시각아이디문제언어결과실행 시간메모리
1317481thuhienneLottery (CEOI18_lot)C++20
45 / 100
70 ms16500 KiB
#include <bits/stdc++.h> using namespace std; using ll = long long; #define thuhien "" #define re exit(0); int n,l,maxseg; int arr[10009]; int dis[2009][2009]; vector <int> pos[2009]; vector <int> X; void solve(int i,int j) { for (int a = 1;a <= l;a++) { if (i == 0 || j == 0) break; dis[i][j]++; i--,j--; } } int cnt[2009]; int main() { ios_base::sync_with_stdio(0); cin.tie(nullptr); if (fopen(thuhien".inp","r")) { freopen(thuhien".inp","r",stdin); freopen(thuhien".out","w",stdout); } cin >> n >> l; int maxseg = n - l + 1; for (int i = 1;i <= n;i++) { cin >> arr[i]; X.push_back(arr[i]); } sort(X.begin(),X.end()); X.resize(unique(X.begin(),X.end()) - X.begin()); for (int i = 1;i <= n;i++) { arr[i] = lower_bound(X.begin(),X.end(),arr[i]) - X.begin() + 1; pos[arr[i]].push_back(i); } for (int i = 1;i <= X.size();i++) { for (int x : pos[i]) { for (int y : pos[i]) { solve(x,y); } } } for (int i = 1;i <= maxseg;i++) { for (int j = 1;j <= maxseg;j++) dis[i][j] = l - dis[i][j]; for (int j = 1;j <= maxseg;j++) cnt[dis[i][j]]++; int count = 0; for (int j = 0;j <= l;j++) { for (int tt = 1;tt <= cnt[j];tt++) dis[i][++count] = j; cnt[j] = 0; } } // for (int i = 1;i <= maxseg;i++) { // for (int j = 1;j <= maxseg;j++) { // cout << dis[i][j] << " "; // } // cout << '\n'; // } // re; int q;cin >> q; while (q--) { int k;cin >> k; for (int i = 1;i <= maxseg;i++) { int num = upper_bound(dis[i] + 1,dis[i] + 1 + maxseg,k) - dis[i] - 1; cout << num - 1 << " "; } cout << '\n'; } }

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

lot.cpp: In function 'int main()':
lot.cpp:34:19: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   34 |            freopen(thuhien".inp","r",stdin);
      |            ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~
lot.cpp:35:19: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   35 |            freopen(thuhien".out","w",stdout);
      |            ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
#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...