pastebin

Paste Search Dynamic
Recent pastes
sol
  1. #include <bits/stdc++.h>
  2. #define pb push_back
  3. #define fs first
  4. #define sc second
  5. #define pii pair<long long,long long>
  6. using namespace std;
  7. bool cmp(const pii &L, const pii &R)
  8.         {
  9.                 return L.sc > R.sc;
  10.         }
  11. class solution
  12. {
  13.         public:
  14.         long long n,m;
  15.         const long long nmax=1e6 + 5;
  16.         vector < long long > machine;
  17.         vector < pii > data;
  18.         vector < long long > sum;
  19.         vector < long long > res;
  20.         void init()
  21.         {
  22.  
  23.                 sum.resize(nmax);
  24.                 res.resize(nmax);
  25.                 for(long long i = 0 ; i < m ; i++) sum[i] = 0;
  26.                 for(long long i = 0 ; i < n ; i++) res[i] = 0;
  27.  
  28.  
  29.         }
  30.         void in()
  31.         {
  32.                 cin >> n >> m;
  33.                 for(long long i = 0 ; i < n ; i++)
  34.                 {
  35.                         long long x;
  36.                         cin >> x;
  37.                         data.pb(pii(i,x));
  38.                         //cout << data[i].fs << " " << data[i].sc << endl;
  39.                 }
  40.         }
  41.  
  42.         void solve()
  43.         {
  44.                 sort(data.begin(),data.end(),cmp);
  45.                 //for(long long i = 0 ; i < n ; i++) cout << data[i].fs << " " << data[i].sc << endl;
  46.                 for(long long i = 0 ; i < n ; i++)
  47.                 {
  48.                         long long id = 0 , cur_sum = 1e12;
  49.                         for(long long j = 0 ; j < m ; j++)
  50.                         if (sum[j] < cur_sum)
  51.                         {
  52.                                 id = j;
  53.                                 cur_sum = sum[j];
  54.                         }
  55.  
  56.                         res[data[i].fs] = id;
  57.                         sum[id]+=data[i].sc;
  58.                 }
  59.         }
  60.         void out()
  61.         {
  62.                 for(long long i = 0 ; i < n ; i++) cout << res[i] << " ";
  63.         }
  64. };
  65. int main() {
  66.         ios::sync_with_stdio(false);
  67.         cin.tie(0); cout.tie(0);
  68.         solution *sol = new solution;
  69.         sol->init();
  70.         sol->in();
  71.         sol->solve();
  72.         sol->out();
  73.         return 0;
  74. }
Parsed in 0.018 seconds