Submission #380923

#TimeUsernameProblemLanguageResultExecution timeMemory
380923Pichon5Carnival Tickets (IOI20_tickets)C++17
0 / 100
575 ms52784 KiB
#include "tickets.h" #include<bits/stdc++.h> #define lcm(a,b) (a/__gcd(a,b))*b #define fast ios_base::sync_with_stdio(false);cin.tie(0);cout.tie(0); #define ll long long #define vi vector<int> #define vll vector<ll> #define pb push_back #define F first #define S second #define mp make_pair using namespace std; long long find_maximum(int k,vector<vi> x) { int n = x.size(); int m = x[0].size(); ll res=0; vector<vi>M(n,vi(m,-1)); vector<pair<int,int> >ind; vector<pair<int,int> >cant;//blanco y negro for(int i=0;i<n;i++)ind.pb({0,m-1}); for(int i=0;i<n;i++){ int a=0,b=0; for(int l=0;l<m;l++){ if(x[i][l]==0){ a++; }else{ b++; } } cant.pb({a,b}); } vi v; for(int i=0;i<k;i++){ v.clear(); int a=0,b=0,aux=0; for(int l=0;l<n;l++){ if(cant[l].S==0){ a++; M[l][ind[l].F]=i; ind[l].F++; continue; } if(cant[l].F==0){ b++; M[l][ind[l].S]=i; ind[l].S--; continue; } v.pb(l); } for(int l=0;l<v.size();l++){ if(a==b){ if(cant[v[l]].F>=cant[v[l]].S){ a++; M[v[l]][ind[v[l]].F]=i; ind[v[l]].F++; cant[v[l]].F--; }else{ b++; M[v[l]][ind[v[l]].S]=i; ind[v[l]].S--; cant[v[l]].S--; } continue; } if(a<b){ a++; M[v[l]][ind[v[l]].F]=i; ind[v[l]].F++; cant[v[l]].F--; }else{ b++; M[v[l]][ind[v[l]].S]=i; ind[v[l]].S--; cant[v[l]].S--; } } res+=min(a,b); } allocate_tickets(M); return res; } /* 0 0 0 1 0 1 1 1 0 0 0 0 1 1 1 1 */

Compilation message (stderr)

tickets.cpp: In function 'long long int find_maximum(int, std::vector<std::vector<int> >)':
tickets.cpp:51:22: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   51 |         for(int l=0;l<v.size();l++){
      |                     ~^~~~~~~~~
tickets.cpp:35:21: warning: unused variable 'aux' [-Wunused-variable]
   35 |         int a=0,b=0,aux=0;
      |                     ^~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...