10B - Cinema Cashier - CodeForces Solution


dp implementation *1500

Please click on ads to support us..

C++ Code:

#include <iostream>
#include <vector>
#include <algorithm>
#define ll long long
using namespace std;

int abs(int a) {
    if(a<0) return -a;
    return a;
}

void solve() {
    int n,k;
    cin >> n >> k;
    vector<vector<int> > hall(k+1,vector<int>(k+1,0));
    for(int i=0;i<n;i++) {
        int req;
        cin >> req;
        bool found=0;
        int x,l,r,score=1e9;
        for(int row=1;row<=k;row++) {
            for(int col=1;col<=k-req+1;col++) {
                int curr=req*abs(row-k/2-1);
                bool flag=0;
                for(int j=col;j<col+req;j++) {
                    if(hall[row][j]) {
                        flag=1;
                        break;
                    }
                    curr+=abs(j-k/2-1);
                }
                if(flag) continue;
                if(curr<score) {
                    found=1;
                    score=curr;
                    x=row;
                    l=col;
                    r=col+req-1;
                }
            }
        }
        if(found) {
            printf("%d %d %d\n", x,l,r);
            for(int i=l;i<=r;i++) hall[x][i]=1;
        } else {
            cout << -1 << endl;
        }
    }
}

int main() {
    // freopen("input.txt","r",stdin);
    // freopen("output.txt","w",stdout);
    // ios_base::sync_with_stdio(false);
    // cin.tie(NULL);
    int t=1;
    // cin >> t;
    while(t--) {
        solve();
    }
}


Comments

Submit
0 Comments
More Questions

1342A - Road To Zero
1520A - Do Not Be Distracted
352A - Jeff and Digits
1327A - Sum of Odd Integers
1276A - As Simple as One and Two
812C - Sagheer and Nubian Market
272A - Dima and Friends
1352C - K-th Not Divisible by n
545C - Woodcutters
1528B - Kavi on Pairing Duty
339B - Xenia and Ringroad
189A - Cut Ribbon
1182A - Filling Shapes
82A - Double Cola
45A - Codecraft III
1242A - Tile Painting
1663E - Are You Safe
1663D - Is it rated - 3
1311A - Add Odd or Subtract Even
977F - Consecutive Subsequence
939A - Love Triangle
755A - PolandBall and Hypothesis
760B - Frodo and pillows
1006A - Adjacent Replacements
1195C - Basketball Exercise
1206A - Choose Two Numbers
1438B - Valerii Against Everyone
822A - I'm bored with life
9A - Die Roll
1430B - Barrels