Submission #60759022


Source Code Expand

Copy
#include<bits/stdc++.h>
#include <ext/pb_ds/assoc_container.hpp>
#include <ext/pb_ds/tree_policy.hpp>
#define ll long long
#define fr(j, l,n) for(int j = l; j < int(n); j++)
#define fn(j,n,l) for(int j=n-1;j>=l;j--)
#define gets(s) string s; cin>>s;
#define all(v) v.begin(),v.end()
#define getv(v,n) vector<ll> v(n); fr(i,0,n) cin >> v[i];
#define seev(a) for(auto x:a){cout<<x<<" ";}cout<<endl;
#define vl vector<ll>
#define ve vector
#define vvl vector<vector<ll>>
#define vp vector<pair<ll,ll>>
#define vc vector<char>
#define vvc vector<vector<char>>
#define pb push_back
#define mp make_pair
#define mse multiset<ll>
#define se set<ll>
#define ma map<ll,ll>
 
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
#include<bits/stdc++.h>
#include <ext/pb_ds/assoc_container.hpp>
#include <ext/pb_ds/tree_policy.hpp>
#define ll long long
#define fr(j, l,n) for(int j = l; j < int(n); j++)
#define fn(j,n,l) for(int j=n-1;j>=l;j--) 
#define gets(s) string s; cin>>s;
#define all(v) v.begin(),v.end()
#define getv(v,n) vector<ll> v(n); fr(i,0,n) cin >> v[i];
#define seev(a) for(auto x:a){cout<<x<<" ";}cout<<endl;
#define vl vector<ll>
#define ve vector
#define vvl vector<vector<ll>>
#define vp vector<pair<ll,ll>>
#define vc vector<char>
#define vvc vector<vector<char>>
#define pb push_back
#define mp make_pair
#define mse multiset<ll>
#define se set<ll>
#define ma map<ll,ll>
#define getmat(v,n,m) vector<vl>v(n,vl(m));fr(i,0,n) {fr (j,0,m) cin>>v[i][j];}
#define seemat(mat) for(auto row:mat){seev(row);}
#define YES cout<<"YES\n";
#define NO cout<<"NO\n";
using namespace std;
using namespace __gnu_pbds;

// Define ordered multiset with long long

typedef tree<long long, long long, less<long>, rb_tree_tag, tree_order_statistics_node_update> ordered_multimap;
typedef tree<ll, null_type, less<ll>, rb_tree_tag, tree_order_statistics_node_update> ordered_set;

vl sieve;
void SieveOfEratosthenes(int n)
{
    // Create a boolean array "prime[0..n]" and initialize
    // all entries it as true. A value in prime[i] will
    // finally be false if i is Not a prime, else true.
    vl prime(n+1,true);
 
    for (int p = 2; p * p <= n; p++) {
        // If prime[p] is not changed, then it is a prime
        if (prime[p] == true) {
            // Update all multiples of p greater than or
            // equal to the square of it numbers which are
            // multiple of p and are less than p^2 are
            // already been marked.
            for (int i = p * p; i <= n; i += p)
                prime[i] = false;
        }
    }
 
    // Print all prime numbers
    for (int p = 2; p <= n; p++)
        if (prime[p])
            sieve.push_back(p);
}
bool sortbysec(const pair<ll, ll>& a,
               const pair<ll, ll>& b)
{
    return (a.second < b.second);
}
// gives gcd and the other coefficients
ll gcd(ll a, ll b, ll& x, ll& y) {
    if (b == 0) {
        x = 1;
        y = 0;
        return a;
    }
    ll x1, y1;
    ll d = gcd(b, a % b, x1, y1);
    x = y1;
    y = x1 - y1 * (a / b);
    return d;
}
// a raised to power b
ll pwr(ll a, ll b, ll mod = 0){
    ll result = 1;
    if(mod == 0){
        while(b){
            if(b & 1) result *= a;
            a *= a;
            b = b >> 1;
        }
    }
    else {
        while(b){
            if(b & 1){
                result *= a;
                result  = result % mod;
            }
            a *= a;
            a = a % mod;
            b = b >> 1;
        }
    }
    return result;
}
ll modularinverse(ll a,ll p)// p is prime
{
    return pwr(a,p-2,p);
}
// to convert string to binary(63 bits)
string tobin(ll a)
{
    string s;
    for (int i = 0; i < 63; i++)
    {
        if(a%2==1)
        {
            s+='1';
        }
        else
        {
            s+='0';
        }
        a>>=1;
    }
    return s;
}
int log2_floor(unsigned long long i) {
    return i ? 63 - __builtin_clzll(i) : -1;
    // -1 as log undefined for 0
}

// QUESTION DHANG SE PADHNA
void solve(ll tc){
    ll n=0,m=0,k=0,a=0,b=0,c=0,x=0,y=0,z=0, x1,y1;
    cin>>n>>m>>k;
    cin>>a>>b;
    getmat(mat,n,m);
    // seemat(mat);
    c=mat[a-1][b-1];
    set<pair<ll,pair<ll,ll>>>sets;
    vvl vis(n,vl(m));
    vis[a-1][b-1]=1;
    a--;
    b--;
    x=a-1,y=b;
    if(x>=0 && x<n && y>=0 && y<m)
    {
        // cout<<mat[x][y]<<' ';
        sets.insert({mat[x][y],{x,y}});
    }
    x=a+1,y=b;
    if(x>=0 && x<n && y>=0 && y<m)
    {
        // cout<<mat[x][y]<< ' ';
        sets.insert({mat[x][y],{x,y}});
    }
    x=a,y=b+1;
    if(x>=0 && x<n && y>=0 && y<m)
    {
        // cout<<mat[x][y]<<' ';
        sets.insert({mat[x][y],{x,y}});
    }
    x=a,y=b-1;
    if(x>=0 && x<n && y>=0 && y<m)
    {
        // cout<<mat[x][y]<<' ';
        sets.insert({mat[x][y],{x,y}});
    }
    while (!sets.empty())
    {
        long double a1=sets.begin()->first;
        ll x1=sets.begin()->second.first,y1=sets.begin()->second.second;
        sets.erase(sets.begin());
        // cout<<a1<<endl;
        if(a1*((long double)(k))<((long double)c))
        {
            if(!vis[x1][y1])
            {
                c+=(ll)a1;
                vis[x1][y1]=true;
                x=x1+1,y=y1;
                if(x>=0 && x<n && y>=0 && y<m && !vis[x][y])
                {
                    sets.insert({mat[x][y],{x,y}});
                }
                x=x1-1,y=y1;
                if(x>=0 && x<n && y>=0 && y<m && !vis[x][y])
                {
                    sets.insert({mat[x][y],{x,y}});
                }
                x=x1,y=y1-1;
                if(x>=0 && x<n && y>=0 && y<m && !vis[x][y])
                {
                    sets.insert({mat[x][y],{x,y}});
                }
                x=x1,y=y1+1;
                if(x>=0 && x<n && y>=0 && y<m && !vis[x][y])
                {
                    sets.insert({mat[x][y],{x,y}});
                }
                
            }
        }
        else
        {
            break;
        }
    }
    cout<<c<<endl;
}


int main(){

#ifndef ONLINE_JUDGE
  freopen("input.txt","r",stdin);
  freopen("output.txt","w",stdout);
#endif
ios_base::sync_with_stdio(false);
cin.tie(NULL);
cout.tie(NULL);

int t=1;
// cin>>t;
ll tc=0;
while(t--){
    tc++;
    solve(tc);
}

return 0;
}

Submission Info

Submission Time
Task E - Takahashi is Slime 2
User DarshJainMe
Language C++ 20 (gcc 12.2)
Score 450
Code Size 5737 Byte
Status AC
Exec Time 116 ms
Memory 17384 KB

Compile Error

Main.cpp: In function ‘void solve(long long int)’:
Main.cpp:129:40: warning: unused variable ‘z’ [-Wunused-variable]
  129 |     ll n=0,m=0,k=0,a=0,b=0,c=0,x=0,y=0,z=0, x1,y1;
      |                                        ^
Main.cpp:129:45: warning: unused variable ‘x1’ [-Wunused-variable]
  129 |     ll n=0,m=0,k=0,a=0,b=0,c=0,x=0,y=0,z=0, x1,y1;
      |                                             ^~
Main.cpp:129:48: warning: unused variable ‘y1’ [-Wunused-variable]
  129 |     ll n=0,m=0,k=0,a=0,b=0,c=0,x=0,y=0,z=0, x1,y1;
      |                                                ^~
Main.cpp:128:15: warning: unused parameter ‘tc’ [-Wunused-parameter]
  128 | void solve(ll tc){
      |               ^

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 450 / 450
Status
AC × 3
AC × 65
Set Name Test Cases
Sample 00_sample_00.txt, 00_sample_01.txt, 00_sample_02.txt
All 00_sample_00.txt, 00_sample_01.txt, 00_sample_02.txt, 01_random_03.txt, 01_random_04.txt, 01_random_05.txt, 01_random_06.txt, 01_random_07.txt, 01_random_08.txt, 01_random_09.txt, 01_random_10.txt, 01_random_11.txt, 01_random_12.txt, 01_random_13.txt, 01_random_14.txt, 01_random_15.txt, 01_random_16.txt, 01_random_17.txt, 01_random_18.txt, 01_random_19.txt, 01_random_20.txt, 01_random_21.txt, 01_random_22.txt, 01_random_23.txt, 01_random_24.txt, 01_random_25.txt, 01_random_26.txt, 01_random_27.txt, 01_random_28.txt, 01_random_29.txt, 01_random_30.txt, 01_random_31.txt, 01_random_32.txt, 01_random_33.txt, 01_random_34.txt, 01_random_35.txt, 01_random_36.txt, 01_random_37.txt, 01_random_38.txt, 01_random_39.txt, 01_random_40.txt, 01_random_41.txt, 01_random_42.txt, 01_random_43.txt, 01_random_44.txt, 01_random_45.txt, 01_random_46.txt, 01_random_47.txt, 01_random_48.txt, 01_random_49.txt, 01_random_50.txt, 01_random_51.txt, 01_random_52.txt, 01_random_53.txt, 01_random_54.txt, 01_random_55.txt, 01_random_56.txt, 01_random_57.txt, 01_random_58.txt, 01_random_59.txt, 01_random_60.txt, 01_random_61.txt, 01_random_62.txt, 01_random_63.txt, 01_random_64.txt
Case Name Status Exec Time Memory
00_sample_00.txt AC 1 ms 3568 KB
00_sample_01.txt AC 1 ms 3408 KB
00_sample_02.txt AC 1 ms 3520 KB
01_random_03.txt AC 100 ms 10684 KB
01_random_04.txt AC 4 ms 3972 KB
01_random_05.txt AC 110 ms 12504 KB
01_random_06.txt AC 22 ms 5460 KB
01_random_07.txt AC 108 ms 12260 KB
01_random_08.txt AC 4 ms 3796 KB
01_random_09.txt AC 110 ms 12424 KB
01_random_10.txt AC 16 ms 4972 KB
01_random_11.txt AC 18 ms 6916 KB
01_random_12.txt AC 1 ms 3432 KB
01_random_13.txt AC 17 ms 6980 KB
01_random_14.txt AC 9 ms 4392 KB
01_random_15.txt AC 115 ms 11532 KB
01_random_16.txt AC 2 ms 3764 KB
01_random_17.txt AC 116 ms 12296 KB
01_random_18.txt AC 5 ms 3980 KB
01_random_19.txt AC 97 ms 11124 KB
01_random_20.txt AC 6 ms 4096 KB
01_random_21.txt AC 107 ms 11756 KB
01_random_22.txt AC 3 ms 3884 KB
01_random_23.txt AC 17 ms 6964 KB
01_random_24.txt AC 4 ms 3848 KB
01_random_25.txt AC 18 ms 7068 KB
01_random_26.txt AC 1 ms 3524 KB
01_random_27.txt AC 15 ms 7052 KB
01_random_28.txt AC 5 ms 4180 KB
01_random_29.txt AC 17 ms 6964 KB
01_random_30.txt AC 7 ms 4332 KB
01_random_31.txt AC 17 ms 7008 KB
01_random_32.txt AC 5 ms 4240 KB
01_random_33.txt AC 17 ms 7140 KB
01_random_34.txt AC 10 ms 5224 KB
01_random_35.txt AC 16 ms 6984 KB
01_random_36.txt AC 2 ms 3636 KB
01_random_37.txt AC 15 ms 6972 KB
01_random_38.txt AC 5 ms 4108 KB
01_random_39.txt AC 17 ms 7004 KB
01_random_40.txt AC 3 ms 3896 KB
01_random_41.txt AC 18 ms 6916 KB
01_random_42.txt AC 6 ms 4180 KB
01_random_43.txt AC 1 ms 3504 KB
01_random_44.txt AC 1 ms 3444 KB
01_random_45.txt AC 1 ms 3560 KB
01_random_46.txt AC 1 ms 3444 KB
01_random_47.txt AC 1 ms 3448 KB
01_random_48.txt AC 1 ms 3492 KB
01_random_49.txt AC 1 ms 3376 KB
01_random_50.txt AC 1 ms 3648 KB
01_random_51.txt AC 1 ms 3448 KB
01_random_52.txt AC 1 ms 3424 KB
01_random_53.txt AC 1 ms 3508 KB
01_random_54.txt AC 1 ms 3424 KB
01_random_55.txt AC 1 ms 3568 KB
01_random_56.txt AC 1 ms 3528 KB
01_random_57.txt AC 1 ms 3504 KB
01_random_58.txt AC 85 ms 17300 KB
01_random_59.txt AC 77 ms 17384 KB
01_random_60.txt AC 86 ms 17264 KB
01_random_61.txt AC 1 ms 3424 KB
01_random_62.txt AC 1 ms 3516 KB
01_random_63.txt AC 1 ms 3428 KB
01_random_64.txt AC 1 ms 3404 KB


2025-03-05 (Wed)
20:48:01 +00:00