답안 #352818

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
352818 2021-01-21T04:51:58 Z beksultan04 카니발 티켓 (IOI20_tickets) C++14
14 / 100
696 ms 56684 KB
#include "tickets.h"
#ifndef EVAL
#include "grader.cpp"
#endif // EVAL
#include <bits/stdc++.h>
using namespace std;
#define lol long long
#define pii pair<int,int>
#define OK puts("OK");
#define NO puts("NO");
#define YES puts("YES");
#define fr first
#define sc second
#define ret return
#define scanl(a) scanf("%lld",&a);
#define scanll(a,b) scanf("%lld %lld",&a, &b);
#define scanlll(a,b,c) scanf("%lld %lld %lld",&a,&b,&c);
#define scan1(a) scanf("%d",&a);
#define scan2(a,b) scanf("%d %d",&a, &b);
#define scan3(a,b,c) scanf("%d %d %d",&a,&b,&c);
#define all(s) s.begin(),s.end()
#define allr(s) s.rbegin(),s.rend()
#define pb push_back
#define sz(v) (int)v.size()
#define endi puts("");
#define eps 1e-12
int pos[100001][2];
lol find_maximum(int k, vector<vector<int>> x) {
	int n = x.size();
	lol sum=0,ans=0;
	int m = x[0].size(),i,j;
	vector<vector<int>> answer;
	vector <lol> v;
	answer.resize(n);
	vector <pii> s;
	for (i = 0; i < n; i++){
        pos[i][0] = 0;
        pos[i][1] = -1;
        int a = 0;
        for (j=0;j<m;++j){
            a += x[i][j];
            if (pos[i][1] == -1 && x[i][j])
                pos[i][1] = j;

            answer[i].pb(-1);
        }
        s.push_back({a,i});
	}
	sort(all(s));
	for (i=0;i<k;++i){
        int c = 0,a=0,b=0;
        for (pii &y: s){
            c++;
            if (c*2 > n && answer[y.sc][pos[y.sc][1]] == -1 && y.fr > 0){
                a++;
                answer[y.sc][pos[y.sc][1]++] = i;
                y.fr--;
            }
            else if (answer[y.sc][pos[y.sc][0]] == -1){
                answer[y.sc][pos[y.sc][0]++] = i;
                b++;
            }
            else {
                a++;
                answer[y.sc][pos[y.sc][1]++] = i;
                y.fr--;
            }
        }
      //  cout <<min(a,b)<<" ";
        ans+=min(a,b);
        sort(all(s));
	}
	allocate_tickets(answer);
	ret ans;
}
/*
4 4 4
0 0 0 1
0 1 1 1
0 0 1 1
1 1 1 1

*/


Compilation message

tickets.cpp: In function 'long long int find_maximum(int, std::vector<std::vector<int> >)':
tickets.cpp:30:6: warning: unused variable 'sum' [-Wunused-variable]
   30 |  lol sum=0,ans=0;
      |      ^~~
# 결과 실행 시간 메모리 Grader output
1 Incorrect 1 ms 364 KB Contestant returned 298620960 but the tickets gives a total value of 1
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 1 ms 364 KB Contestant returned 292273026 but the tickets gives a total value of 1
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 364 KB Output is correct
2 Correct 1 ms 364 KB Output is correct
3 Correct 1 ms 364 KB Output is correct
4 Correct 2 ms 492 KB Output is correct
5 Correct 25 ms 2668 KB Output is correct
6 Correct 696 ms 55664 KB Output is correct
7 Correct 662 ms 56008 KB Output is correct
8 Correct 4 ms 620 KB Output is correct
9 Correct 1 ms 364 KB Output is correct
10 Correct 1 ms 364 KB Output is correct
11 Correct 1 ms 364 KB Output is correct
12 Correct 7 ms 908 KB Output is correct
13 Correct 27 ms 2396 KB Output is correct
14 Correct 22 ms 2304 KB Output is correct
15 Correct 653 ms 56684 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Incorrect 1 ms 364 KB Contestant returned 13 but the tickets gives a total value of 7
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 1 ms 512 KB Contestant returned 13 but the tickets gives a total value of 7
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 1 ms 512 KB Contestant returned 13 but the tickets gives a total value of 7
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 1 ms 364 KB Contestant returned 298620960 but the tickets gives a total value of 1
2 Halted 0 ms 0 KB -