Submission #1036189

#TimeUsernameProblemLanguageResultExecution timeMemory
1036189vjudge1Zemljište (COCI22_zemljiste)C++17
70 / 70
369 ms4392 KiB
#warning Check FastIO // #pragma GCC optimize("Ofast,unroll-loops") // #pragma GCC target("sse,sse2,sse3,ssse3,sse4,popcnt,abm,mmx,avx,avx2,tune=native") #include <iostream> #include <algorithm> #include <climits> #include <queue> #include <cmath> #include <map> #include <set> #include <random> #include <chrono> #include <iomanip> #include <vector> #include <fstream> using namespace std; #define vll vector<ll> #define sll set<ll> #define vstr vector<string> #define ll long long #define ld long double #define supra main #define pb push_back #define add insert #define rall(x) rbegin(x),rend(x) #define all(x) (x).begin(),(x).end() #define I ios_base::sync_with_stdio(false); #define Hear cin.tie(NULL); #define Shots cout.tie(NULL); #define Ratatatata #define bits_on(a) (__builtin_popcountll(a)) #define mx_pw2(a) (__builtin_ctzll(a)) mt19937 RNG(chrono::steady_clock::now().time_since_epoch().count()); #define SHUFFLE(v) shuffle(all(v), RNG); const ll inf=LLONG_MAX; void input(vll& a) { for(auto& i:a) cin>>i; } void pyn(bool a) { cout<<(a?"YES":"NO")<<endl; } ll powmod(ll a,ll b,ll modulo) { if(b==0){ return 1; } ll temp=powmod(a,b/2,modulo); if(b%2==0){ return (temp*temp)%modulo; } else{ return (a*((temp*temp)%modulo))%modulo; } } bool Prime(ll n){ for (ll i = 2; i*i <= n; i++) if (n % i == 0) return false; return (n>1); } const int N=502; ll a[N][N],pre[N][N]; void solve() { ll n,m,ax,bx; cin>>n>>m>>ax>>bx; if(ax>bx) swap(ax,bx); for(int i=1;i<=n;i++) for(int j=1;j<=m;j++) cin>>a[i][j]; for(int i=1;i<=n;i++) { for(int j=1;j<=m;j++) { pre[i][j]=pre[i][j-1]+a[i][j]; } } ll ans=ax+bx; for(int x=1;x<=m;x++) { for(int xp=x;xp<=m;xp++) { vll pref={0}; int i=0; for(int row=1;row<=n;row++) { pref.pb(pref.back()+pre[row][xp]-pre[row][x-1]); ll val=pref.back()-bx; while(i<pref.size() and pref[i]<val) i++; if(i<pref.size()) ans=min(ans,abs(ax-pref.back()+pref[i])+abs(bx-pref.back()+pref[i])); if(i>0) ans=min(ans,abs(ax-pref.back()+pref[i-1])+abs(bx-pref.back()+pref[i-1])); } } } cout<<ans<<'\n'; } int supra(){ I Hear Shots Ratatatata ll tqwertyuiop=1; for(int tp=1;tp<=tqwertyuiop;tp++) { // cout<<"Case #"<<tp<<": "; solve(); } return 0; } /* Bro use only in a emergency this is kind of hacking */

Compilation message (stderr)

Main.cpp:1:2: warning: #warning Check FastIO [-Wcpp]
    1 | #warning Check FastIO
      |  ^~~~~~~
Main.cpp: In function 'void solve()':
Main.cpp:94:24: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<long long int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   94 |                 while(i<pref.size() and pref[i]<val)
      |                       ~^~~~~~~~~~~~
Main.cpp:96:21: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<long long int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   96 |                 if(i<pref.size())
      |                    ~^~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...