Submission #313279

#TimeUsernameProblemLanguageResultExecution timeMemory
313279NhatMinh0208Carnival Tickets (IOI20_tickets)C++14
11 / 100
3091 ms144572 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" #define round roundd //------START-----------// vector<int> gt[100001]; int l[100001],r[100001],res[1501][1501],profit[1501]; 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; profit[i]=v[i][l[i]]+v[i][r[i]]; for (j=0;j<m;j++) res[i][j]=-1; } vector<int> fuc; for (i=0;i<n;i++) fuc.push_back(i); for (int round=0;round<1;round++) { for (i=0;i<n;i++) profit[i]=v[i][l[i]]+v[i][r[i]]; sort(fuc.begin(),fuc.end(),[v](int a, int b){return (profit[a]<profit[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<int>> res2(n,vector<int>(m)); for (i=0;i<n;i++) { for (j=0;j<m;j++) res2[i][j]=(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: In function 'long long int find_maximum(int, std::vector<std::vector<int> >)':
tickets.cpp:63:15: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   63 |     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:64:26: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   64 |     for (i=fuc.size()/2;i<fuc.size();i++)
      |                         ~^~~~~~~~~~~
#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...