Submission #313243

#TimeUsernameProblemLanguageResultExecution timeMemory
313243NhatMinh0208카니발 티켓 (IOI20_tickets)C++14
Compilation error
0 ms0 KiB
/*
khoi orz, go check out his algo
-normie-
*/
#include <bits/stdc++.h>
using namespace std;
#define rep(i,n) for(int64_t i=0;i < (int64_t)(n);i++)
#pragma comment(linker, "/stack:200000000")
#pragma GCC optimize("Ofast")
#pragma GCC target("sse,sse2,sse3,ssse3,sse4,popcnt,abm,mmx,avx,tune=native")
#define FILE_IN "ninja.inp"
#define FILE_OUT "ninja.out"
#define ofile freopen(FILE_IN,"r",stdin);freopen(FILE_OUT,"w",stdout)
#define fio ios::sync_with_stdio(0);cin.tie(0);cout.tie(0)
#define nfio cin.tie(0);cout.tie(0)
#define max(x,y) (((x)>(y))?(x):(y))
#define min(x,y) (((x)<(y))?(x):(y))
#define ord(a,b,c) ((a>=b)and(b>=c))
#define MOD (ll(1000000007))
#define MAX 300001
#define mag 1048576
#define fi first
#define se second
#define pow2(x) (ll(1)<<x)
#define pii pair<int,int>
#define piii pair<int,pii>
#define pll pair<ll,ll>
#define plll pair<ll,pll>
#define For(i,__,___) for(int i=__;i<=___;i++)
#define Rep(i,__,___) for(int i=__;i>=___;i--)
#define ordered_set tree<long long,null_type,less<long long>,rb_tree_tag,tree_order_statistics_node_update>
#define endl "\n"
#define bi BigInt
#define ll long long
#define pi 3.1415926535897
#include "tickets.h"
//------START-----------//
vector<int> gt[100001];
int l[100001],r[100001],res[1001][1001];
int n,m,i,j,round;
long long sum=0;
//------END-----------//
long long find_maximum(int k, vector<vector<int>> v)
{
  sum=0;
  n=v.size();
  m=v[0].size();
  for (i=0;i<n;i++) 
  {
    l[i]=0;
    r[i]=m-1;
    for (j=0;j<m;j++) res[i][j]=-1;
  }
  for (round=0;round<k;round++)
  {
    vector<int> fuc;
    for (i=0;i<n;i++) fuc.push_back(i);
    fuc.sort(fuc.begin(),fuc.end(),[](int a, int b){return (v[a][l[a]]+v[a][r[a]]<v[b][l[b]]+v[b][r[b]])});
    for (i=0;i<fuc.size()/2;i++) {res[fuc[i]][l[fuc[i]]]=round; sum-=v[fuc[i]][l[fuc[i]]]; l[fuc[i]]++;}
    for (i=fuc.size()/2;i<fuc.size();i++) 
    {res[fuc[i]][r[fuc[i]]]=round; sum+=v[fuc[i]][r[fuc[i]]]; r[fuc[i]]--;}
  }
  vector<vector<ll>> res2;
  for (i=0;i<n;i++)
  {
    res2.push_back({});
    for (j=0;j<m;j++) res2[i].push_back(res[i][j]);
  }
  allocate_tickets(res2);
  return sum;
}

Compilation message (stderr)

tickets.cpp:8: warning: ignoring #pragma comment  [-Wunknown-pragmas]
    8 | #pragma comment(linker, "/stack:200000000")
      | 
tickets.cpp:40:13: error: 'int round' redeclared as different kind of entity
   40 | int n,m,i,j,round;
      |             ^~~~~
In file included from /usr/include/features.h:367,
                 from /usr/include/x86_64-linux-gnu/c++/9/bits/os_defines.h:39,
                 from /usr/include/x86_64-linux-gnu/c++/9/bits/c++config.h:524,
                 from /usr/include/c++/9/cassert:43,
                 from /usr/include/x86_64-linux-gnu/c++/9/bits/stdc++.h:33,
                 from tickets.cpp:5:
/usr/include/x86_64-linux-gnu/bits/mathcalls.h:319:1: note: previous declaration 'double round(double)'
  319 | __MATHCALLX (round,, (_Mdouble_ __x), (__const__));
      | ^~~~~~~~~~~
tickets.cpp: In function 'long long int find_maximum(int, std::vector<std::vector<int> >)':
tickets.cpp:54:14: error: overloaded function with no contextual type information
   54 |   for (round=0;round<k;round++)
      |              ^
tickets.cpp:54:16: error: parse error in template argument list
   54 |   for (round=0;round<k;round++)
      |                ^~~~~~~
tickets.cpp:54:16: error: cannot resolve overloaded function 'round' based on conversion to type 'bool'
tickets.cpp:54:29: error: no post-increment operator for type
   54 |   for (round=0;round<k;round++)
      |                             ^~
tickets.cpp:58:9: error: 'class std::vector<int>' has no member named 'sort'
   58 |     fuc.sort(fuc.begin(),fuc.end(),[](int a, int b){return (v[a][l[a]]+v[a][r[a]]<v[b][l[b]]+v[b][r[b]])});
      |         ^~~~
tickets.cpp: In lambda function:
tickets.cpp:58:61: error: 'v' is not captured
   58 |     fuc.sort(fuc.begin(),fuc.end(),[](int a, int b){return (v[a][l[a]]+v[a][r[a]]<v[b][l[b]]+v[b][r[b]])});
      |                                                             ^
tickets.cpp:58:37: note: the lambda has no capture-default
   58 |     fuc.sort(fuc.begin(),fuc.end(),[](int a, int b){return (v[a][l[a]]+v[a][r[a]]<v[b][l[b]]+v[b][r[b]])});
      |                                     ^
tickets.cpp:43:51: note: 'std::vector<std::vector<int> > v' declared here
   43 | long long find_maximum(int k, vector<vector<int>> v)
      |                               ~~~~~~~~~~~~~~~~~~~~^
tickets.cpp:58:72: error: 'v' is not captured
   58 |     fuc.sort(fuc.begin(),fuc.end(),[](int a, int b){return (v[a][l[a]]+v[a][r[a]]<v[b][l[b]]+v[b][r[b]])});
      |                                                                        ^
tickets.cpp:58:37: note: the lambda has no capture-default
   58 |     fuc.sort(fuc.begin(),fuc.end(),[](int a, int b){return (v[a][l[a]]+v[a][r[a]]<v[b][l[b]]+v[b][r[b]])});
      |                                     ^
tickets.cpp:43:51: note: 'std::vector<std::vector<int> > v' declared here
   43 | long long find_maximum(int k, vector<vector<int>> v)
      |                               ~~~~~~~~~~~~~~~~~~~~^
tickets.cpp:58:83: error: 'v' is not captured
   58 |     fuc.sort(fuc.begin(),fuc.end(),[](int a, int b){return (v[a][l[a]]+v[a][r[a]]<v[b][l[b]]+v[b][r[b]])});
      |                                                                                   ^
tickets.cpp:58:37: note: the lambda has no capture-default
   58 |     fuc.sort(fuc.begin(),fuc.end(),[](int a, int b){return (v[a][l[a]]+v[a][r[a]]<v[b][l[b]]+v[b][r[b]])});
      |                                     ^
tickets.cpp:43:51: note: 'std::vector<std::vector<int> > v' declared here
   43 | long long find_maximum(int k, vector<vector<int>> v)
      |                               ~~~~~~~~~~~~~~~~~~~~^
tickets.cpp:58:94: error: 'v' is not captured
   58 |     fuc.sort(fuc.begin(),fuc.end(),[](int a, int b){return (v[a][l[a]]+v[a][r[a]]<v[b][l[b]]+v[b][r[b]])});
      |                                                                                              ^
tickets.cpp:58:37: note: the lambda has no capture-default
   58 |     fuc.sort(fuc.begin(),fuc.end(),[](int a, int b){return (v[a][l[a]]+v[a][r[a]]<v[b][l[b]]+v[b][r[b]])});
      |                                     ^
tickets.cpp:43:51: note: 'std::vector<std::vector<int> > v' declared here
   43 | long long find_maximum(int k, vector<vector<int>> v)
      |                               ~~~~~~~~~~~~~~~~~~~~^
tickets.cpp:58:105: error: expected ';' before '}' token
   58 |     fuc.sort(fuc.begin(),fuc.end(),[](int a, int b){return (v[a][l[a]]+v[a][r[a]]<v[b][l[b]]+v[b][r[b]])});
      |                                                                                                         ^
      |                                                                                                         ;
tickets.cpp: In function 'long long int find_maximum(int, std::vector<std::vector<int> >)':
tickets.cpp:59:15: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   59 |     for (i=0;i<fuc.size()/2;i++) {res[fuc[i]][l[fuc[i]]]=round; sum-=v[fuc[i]][l[fuc[i]]]; l[fuc[i]]++;}
      |              ~^~~~~~~~~~~~~
tickets.cpp:59:58: error: cannot resolve overloaded function 'round' based on conversion to type 'int'
   59 |     for (i=0;i<fuc.size()/2;i++) {res[fuc[i]][l[fuc[i]]]=round; sum-=v[fuc[i]][l[fuc[i]]]; l[fuc[i]]++;}
      |                                                          ^~~~~
tickets.cpp:60:26: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   60 |     for (i=fuc.size()/2;i<fuc.size();i++)
      |                         ~^~~~~~~~~~~
tickets.cpp:61:29: error: cannot resolve overloaded function 'round' based on conversion to type 'int'
   61 |     {res[fuc[i]][r[fuc[i]]]=round; sum+=v[fuc[i]][r[fuc[i]]]; r[fuc[i]]--;}
      |                             ^~~~~
tickets.cpp:69:20: error: could not convert 'res2' from 'vector<vector<long long int>>' to 'vector<vector<int>>'
   69 |   allocate_tickets(res2);
      |                    ^~~~
      |                    |
      |                    vector<vector<long long int>>