제출 #1169553

#제출 시각아이디문제언어결과실행 시간메모리
1169553nathan4690Topical (NOI23_topical)C++20
100 / 100
353 ms146736 KiB
#include <bits/stdc++.h>
#define ll long long
#define ld long double
#define f1(i,n) for(int i=1;i<=n;i++)
#define __file_name ""
using namespace std;
const ll maxn=1e6+5, inf=1e18;

int n, k, ptr[maxn], rem[maxn];
ll val[maxn];
int ans;
vector<vector<int>> r, u;
vector<pair<int,int>> allc[maxn];
queue<int> qu;

void upd(){
    f1(i,k){
        while(ptr[i] < allc[i].size()){
            if(val[i] >= allc[i][ptr[i]].first){
                int idx = allc[i][ptr[i]].second;
                rem[idx]--;
                if(rem[idx] == 0) qu.push(idx);
                ptr[i]++;
            }else break;
        }
    }
}

int main(){
    ios_base::sync_with_stdio(0);
    cin.tie(0); cout.tie(0);
    if(fopen(__file_name ".inp", "r")){
        freopen(__file_name ".inp", "r", stdin);
        freopen(__file_name ".out", "w", stdout);
    }
    // code here
    cin >> n >> k;
    r.resize(n+1, vector<int>(k+1));
    u.resize(n+1, vector<int>(k+1));
    f1(i, n) f1(j, k) {
        cin >> r[i][j];
        allc[j].push_back({r[i][j], i});
    }
    f1(i,n) f1(j,k) cin >> u[i][j];
    f1(i,k) sort(allc[i].begin(), allc[i].end());
    f1(i,n) rem[i] = k;
    upd();
    while(!qu.empty()){
        int idx = qu.front();
        qu.pop();
        ans++;
        f1(i,k) val[i] += u[idx][i];
        upd();
    }
    cout << ans;
    return 0;
}

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

Main.cpp: In function 'int main()':
Main.cpp:33:16: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   33 |         freopen(__file_name ".inp", "r", stdin);
      |         ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Main.cpp:34:16: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   34 |         freopen(__file_name ".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...