답안 #929114

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
929114 2024-02-17T17:34:45 Z sondos225 Hokej (COCI17_hokej) C++17
0 / 120
142 ms 25376 KB
#include <bits/stdc++.h>
using namespace std;
#define int long long
#define fast ios_base::sync_with_stdio(0);cin.tie(NULL);cout.tie(NULL);
#define pb push_back
#define yes "YES"
#define no "NO"
#define bigg INT_MAX
#define debug(x) cout<<(#x)<<" = " <<x<<endl;
#define all(x) x.begin(),x.end()
#define sz size()
#define nn '\n'
#define mms(x,y) memset(x,y,sizeof(x))
#define forr(i,j,n) for (int i=j; i<n; i++)
#define forn(i,j,n) for (int i=j; i>n; i--)
#define fi first
#define se second
#define la "LA"
#define cinn(x,y) for(int i=0; i<y; i++) cin>>x[i];
#define pii pair<int,int>
#define tii tuple<int,int,int>
bool cmp(tii a, tii b)
{
    if (get<0>(a)==get<0>(b)) return get<1>(a)>get<1>(b);
    return get<0>(a)>get<0>(b);
}
bool cpp(tii a, tii b)
{
    if (get<1>(a)==get<1>(b)) return get<0>(a)>get<0>(b);
    return get<1>(a)>get<1>(b);
}
bool cp(tii a, tii b)
{
   // if (get<1>(a)==get<1>(b)) return get<0>(a)>get<0>(b);
    return get<0>(a)<get<0>(b);
}
signed main()
{
//    #ifndef LOCAL
//    freopen("helpcross.in","r",stdin);
//    freopen("helpcross.out","w", stdout);
//    #endif
    fast
    int m,n;
    cin>>m >>n;
    tii a[n];
    forr(i,0,n)
    {
        cin>>get<0>(a[i]) >>get<1>(a[i]);
        get<2>(a[i])=i+1;
    }
    sort(a,a+n,cmp);
    int tt=m*6;
    int sm=0;
    vector<tii> b;
    int ans=0;
    forr(i,0,n)
    {
        sm+=(get<1>(a[i]));
        b.pb(a[i]);
        if (sm>=tt)
        {
            int x=sm-(get<1>(a[i]));
            x=tt-x;
            ans+=(get<0>(a[i])*x);
            break;
        }
        ans+=(get<0>(a[i])*get<1>(a[i]));
    }
    sort(all(b),cpp);
    int cr=1;
    int tim=0;
    bool f=0;
    int team[7]={ };
    vector<tii> v;
    forr(i,0,b.sz)
    {
        int q=get<0>(b[i]), t=get<1>(b[i]), x=get<2>(b[i]);
        if (f==0)
        {
            team[cr]=x;
           // cr++;
            tim+=t;
        }
        else
        {
            get<2>(v.back())=x;
            //cout<<x<<nn;
            tim+=t;
            f=0;
        }
        if (tim==m) { f=0;
            cr++;
           tim=0;}
        else if (tim>m)
        {
           // f=0;
            cr++;
          // tim=0;
            //ybd2
            tim-=m;
            if (cr<=6) {team[cr]=x;
            v.pb({tim,x,0});}
            else break;
            //cout<<tim<<' '<<x<<' ';
            f=1;
        }
        else
        {
            v.pb({tim,x,0});
            //cout<<tim<<' '<<x<<' ';
            f=1;
        }
    }
    cout<<ans<<nn;
    forr(i,1,7) cout<<team[i]<<' ';
    cout<<nn;
    cout<<v.sz<<nn;
   // if (v.sz>(3*n)) n/=0;
    sort(all(v),cp);
    forr(i,0,v.sz)
    {
        cout<<get<0>(v[i])<<' '<<get<1>(v[i])<<' '<<get<2>(v[i])<<nn;
        if (get<2>(v[i])==0) n/=0;
    }
    return 0;
}

Compilation message

hokej.cpp: In function 'int main()':
hokej.cpp:14:36: warning: comparison of integer expressions of different signedness: 'long long int' and 'std::vector<std::tuple<long long int, long long int, long long int> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   14 | #define forr(i,j,n) for (int i=j; i<n; i++)
      |                                    ^
hokej.cpp:76:5: note: in expansion of macro 'forr'
   76 |     forr(i,0,b.sz)
      |     ^~~~
hokej.cpp:78:13: warning: unused variable 'q' [-Wunused-variable]
   78 |         int q=get<0>(b[i]), t=get<1>(b[i]), x=get<2>(b[i]);
      |             ^
hokej.cpp:14:36: warning: comparison of integer expressions of different signedness: 'long long int' and 'std::vector<std::tuple<long long int, long long int, long long int> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   14 | #define forr(i,j,n) for (int i=j; i<n; i++)
      |                                    ^
hokej.cpp:121:5: note: in expansion of macro 'forr'
  121 |     forr(i,0,v.sz)
      |     ^~~~
hokej.cpp:124:31: warning: division by zero [-Wdiv-by-zero]
  124 |         if (get<2>(v[i])==0) n/=0;
      |                              ~^~~
# 결과 실행 시간 메모리 Grader output
1 Runtime error 1 ms 604 KB Execution killed with signal 4
2 Runtime error 2 ms 856 KB Execution killed with signal 4
3 Failed 6 ms 1040 KB the answer doesn't match with the value Z
4 Failed 1 ms 348 KB the answer doesn't match with the value Z
5 Failed 3 ms 604 KB the answer doesn't match with the value Z
6 Runtime error 2 ms 860 KB Execution killed with signal 4
7 Failed 2 ms 604 KB the answer doesn't match with the value Z
8 Failed 26 ms 3244 KB the answer doesn't match with the value Z
9 Failed 138 ms 12564 KB the answer doesn't match with the value Z
10 Runtime error 142 ms 25376 KB Execution killed with signal 4