답안 #844252

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
844252 2023-09-05T11:52:11 Z vjudge1 Pod starim krovovima (COCI20_psk) C++17
0 / 50
348 ms 108424 KB
#ifdef ONLINE_JUDGE
    #pragma GCC optimize("O3,unroll-loops")
    #pragma GCC target("avx2,bmi,bmi2,lzcnt,popcnt")
#endif
#include <bits/stdc++.h>
#include <ext/pb_ds/assoc_container.hpp> 
#include <ext/pb_ds/tree_policy.hpp>
#include <ext/pb_ds/detail/standard_policies.hpp>
#define int long long
#define pb push_back
#define lim 300000
#define till 40001
// # of primes till 1e6 = 7e4
using namespace std;
using namespace __gnu_pbds;

typedef tree<int,null_type,less<int>,rb_tree_tag,tree_order_statistics_node_update>ordered_set;
using pii = array<int,2>;

const int mod=1000000007ll;

void solve(){
    int n;
    cin>>n;
    int vol[n];
    int tot=0;
    for(int i=0;i<n;i++){
        int use;
        cin>>use;
        tot+=use;
        cin>>vol[i];
    }
    map<int,vector<int>>all;
    vector<int>a(vol,vol+n);
    sort(a.begin(),a.end(),greater<int>());
    int cur=0,grr=0;
    for(int i=0;i<n;i++){
        if(tot-cur>a[i]){
            //cerr<<a[i]<<"a\n";
            all[a[i]].pb(a[i]);
            tot-=a[i];
            grr++;
        }else{
            //cerr<<a[i]<<"b\n";
            all[a[i]].pb(tot-cur);
            if(tot-cur)grr++;
            break;
        }
    }
    map<int,int> it;
    cout<<n-grr<<"\n";
    for(int i=0;i<n;i++){
        if(it[vol[i]]<all[vol[i]].size()){
            cout<<all[vol[i]][it[vol[i]]]<<" ";
            it[vol[i]]++;
        }else cout<<"0 ";
    }
}


signed main(){
    ios_base::sync_with_stdio(false);
    cin.tie(NULL);cout.tie(NULL);
#ifndef ONLINE_JUDGE 
#ifndef INTERACTIVE
    freopen("in","r",stdin);
#endif
    freopen("out","w",stdout);
#endif
    int t=1;
    //cin>>t;
    while (t--)
    {
        solve();
    }
}

Compilation message

psk.cpp: In function 'void solve()':
psk.cpp:53:22: warning: comparison of integer expressions of different signedness: 'std::map<long long int, long long int>::mapped_type' {aka 'long long int'} and 'std::vector<long long int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   53 |         if(it[vol[i]]<all[vol[i]].size()){
psk.cpp: In function 'int main()':
psk.cpp:66:12: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   66 |     freopen("in","r",stdin);
      |     ~~~~~~~^~~~~~~~~~~~~~~~
psk.cpp:68:12: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   68 |     freopen("out","w",stdout);
      |     ~~~~~~~^~~~~~~~~~~~~~~~~~
# 결과 실행 시간 메모리 Grader output
1 Incorrect 329 ms 108272 KB Unexpected end of file - int32 expected
2 Incorrect 330 ms 108272 KB Unexpected end of file - int32 expected
3 Incorrect 331 ms 108376 KB Unexpected end of file - int32 expected
4 Incorrect 335 ms 108424 KB Unexpected end of file - int32 expected
5 Incorrect 330 ms 108332 KB Unexpected end of file - int32 expected
6 Incorrect 343 ms 108360 KB Unexpected end of file - int32 expected
7 Incorrect 323 ms 108160 KB Unexpected end of file - int32 expected
8 Incorrect 348 ms 108208 KB Unexpected end of file - int32 expected
9 Incorrect 337 ms 108376 KB Unexpected end of file - int32 expected
10 Incorrect 336 ms 108212 KB Unexpected end of file - int32 expected