답안 #1011877

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
1011877 2024-07-01T10:19:16 Z DrStonee Job Scheduling (CEOI12_jobs) C++14
40 / 100
101 ms 23404 KB
// Wael Benslimene DrStonee

#include<bits/stdc++.h>
#include <ext/pb_ds/assoc_container.hpp>

using namespace std;
using namespace __gnu_pbds;

template <class T>
using ordered_set = tree<T, null_type, less_equal<T>, rb_tree_tag, tree_order_statistics_node_update>;


const long long mod=1e9+7;
const long long MOD=998244353;
#define ll long long
#define endl '\n'
#define FAST ios::sync_with_stdio(false);cin.tie(0);cout.tie(0)
#define ff first
#define ss second
#define INF 1e18+5
#define yes cout<<"YES"<<endl
#define no cout<<"NO"<<endl
#define pb push_back
#define mp make_pair
#define all(x) (x).begin(),(x).end()
#define rall(x) (x).rbegin(),(x).rend()


ll binpow(ll a,ll b){ll res=1;while(b>0){if(b&1)res=(res*a);a=((a)*(a));b/=2;}return res;}
ll gcd(ll a,ll b){return b==0 ? a:gcd(b,a%b);}
ll lcm(ll a,ll b){return (a/gcd(a,b))*b;}
 

const int N=1e5+1;

vector<int> v[N],a[N];

void solve()
{
    int n,d,m;cin>>n>>d>>m;
    for(int i=1,x;i<=m;i++)
    {
        cin>>x;
        v[x].pb(i);
    }
    int j=1,curr=0;
    for(int i=1;i<=n;i++)
    {
        while(!v[i].empty())
        {
            for(int x=i;x<=d+i;x++){
                while(!v[i].empty() && a[x].size()<curr){
                    a[x].pb(v[i].back());
                    v[i].pop_back();
                }
            }
            if(v[i].empty())continue;
            if(j>d+i)j=i;
            if(j<i)j=i;
            a[j].pb(v[i].back());
            curr=max(curr,(int)a[j].size());
            v[i].pop_back();
            j++;
        }
    }
    cout<<curr<<endl;
    for(int i=1;i<=n;i++)
    {
        for(auto x:a[i])
        {
            cout<<x<<" ";
        }
        cout<<0<<endl;
    }
}   


int main()
{
    FAST;
    
    int t=1;
    // cin>>t;
    while(t--)
    {
        solve();
    }

    return 0;
}

Compilation message

jobs.cpp: In function 'void solve()':
jobs.cpp:52:51: warning: comparison of integer expressions of different signedness: 'std::vector<int>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   52 |                 while(!v[i].empty() && a[x].size()<curr){
      |                                        ~~~~~~~~~~~^~~~~
# 결과 실행 시간 메모리 Grader output
1 Correct 16 ms 7128 KB Output is correct
2 Correct 12 ms 7132 KB Output is correct
3 Correct 14 ms 6972 KB Output is correct
4 Correct 12 ms 7128 KB Output is correct
5 Correct 12 ms 7128 KB Output is correct
6 Correct 12 ms 7128 KB Output is correct
7 Correct 12 ms 7132 KB Output is correct
8 Correct 12 ms 7132 KB Output is correct
9 Incorrect 23 ms 7296 KB Output isn't correct
10 Incorrect 16 ms 7188 KB Output isn't correct
11 Incorrect 13 ms 7004 KB Output isn't correct
12 Incorrect 23 ms 9052 KB Output isn't correct
13 Incorrect 34 ms 12284 KB Output isn't correct
14 Incorrect 66 ms 14680 KB Output isn't correct
15 Incorrect 54 ms 15956 KB Output isn't correct
16 Incorrect 79 ms 19284 KB Output isn't correct
17 Incorrect 94 ms 23120 KB Output isn't correct
18 Incorrect 82 ms 22100 KB Output isn't correct
19 Incorrect 101 ms 23404 KB Output isn't correct
20 Incorrect 93 ms 23124 KB Output isn't correct