SHARE
TWEET

c

a guest Jul 18th, 2019 100 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #include<bits/stdc++.h>
  2. #include <ext/pb_ds/tree_policy.hpp>
  3. #include <ext/pb_ds/assoc_container.hpp>
  4. using namespace std;
  5. using namespace __gnu_pbds;
  6. typedef int ll;
  7. typedef unsigned long long ull;
  8. typedef pair<ll,ll>pll;
  9. typedef pair<int,int>pii;
  10. typedef pair<int,pair<int,int>>piii;
  11. typedef pair<ll,pair<ll,ll>>plll;
  12. typedef tree<ll, null_type, less<ll>, rb_tree_tag,tree_order_statistics_node_update> orderedSet;
  13. #define fastread() (ios_base:: sync_with_stdio(false),cin.tie(NULL));
  14. #define sf(a) scanf("%I64d",&a)
  15. #define pf(a) printf("%I64d\n",a)
  16. #define mem(a,b)     memset(a,b,sizeof(a))
  17. #define vll(v) v.begin(),v.end()
  18. #define all(x) x.rbegin(),x.rend()
  19. #define min3(a, b, c)   min(a, min(b, c))
  20. #define F first
  21. #define S second
  22. #define minheap int,vector<int>,greater<int>
  23. //#define mp make_pair
  24. #define pb push_back
  25. #define pp pop_back
  26. #define eb emplace_back
  27. #define in  freopen("input.txt", "r", stdin)
  28. #define out  freopen("output.txt", "w", stdout)
  29. #define BOUNDARY(i, j) ((i >= 0 && i < row) && (j >= 0 && j < column))
  30. #define ischar(x)  (('a' <= x && x <= 'z') || ('A' <= x && x <= 'Z'))
  31. #define isvowel(ch) ((ch=='a'||ch=='e'||ch=='i'||ch=='o'||ch=='u')||(ch=='A'|| ch=='E' || ch=='I'|| ch=='O'|| ch=='U'))
  32. const int Max = 2e6 + 10;
  33. const int Mod = 1e9 + 7;
  34. const double PI  =3.141592653589793238463;
  35. bool compare(const pair<int,int> &a, const pair<int,int> &b)
  36. {
  37.        return (a.first > b.first);
  38. }
  39. ll lcm(ll a,ll b)
  40. {
  41.     if(a==0 || b==0)return 0;
  42.  
  43.     return a/__gcd(a,b)*b;
  44. }
  45. //___________________________________________________________________________________________________________________
  46. //                              CODE STARTS FROM HERE
  47. //                               MU_Codefighter2019
  48. //-------------------------------------------------------------------------------------------------------------------
  49.  
  50. ll ara[1001][1001],arac[1001][1001],n,m;
  51.  
  52.  
  53. void input()
  54. {
  55.     ll i,j;
  56.  
  57.     for(i=1; i<=n; i++)
  58.         for(j=1; j<=m; j++)
  59.         {
  60.             scanf("%d",&ara[i][j]);
  61.  
  62.             if(ara[i][j]==1)
  63.             {
  64.                 arac[i][j]=arac[i-1][j]+1;
  65.             }
  66.             else arac[i][j]=0;
  67.  
  68.  
  69.         }
  70.  
  71. }
  72.  
  73. void debug()
  74. {
  75.     ll i,j;
  76.  
  77.     cout<<"debug"<<endl;
  78.  
  79.     for(i=1; i<=n; i++)
  80.     {
  81.         for(j=1; j<=m; j++)
  82.         {
  83.             cout<<arac[i][j]<<" ";
  84.         }cout<<endl;
  85.     }
  86. }
  87.  
  88.  
  89.  
  90. ll solution()
  91. {
  92.     ll mx=0,i,j;
  93.  
  94.     for(i=1; i<=n; i++)
  95.         {
  96.         for(j=1; j<=m; j++)
  97.         {
  98.             if(arac[i][j])
  99.             {
  100.                ll square= arac[i][j],len=1;
  101.  
  102.                ll pos=j;
  103.  
  104.  
  105.                 while(j<=m && len<=square)
  106.                 {
  107.                     j++;
  108.  
  109.                     if(square>arac[i][j])
  110.                     {
  111.                         pos=j;
  112.  
  113.                         square=arac[i][j];
  114.                     }
  115.  
  116.                     len++;
  117.                 }
  118.               j=pos;
  119.  
  120.  
  121.  
  122.                 mx=max(len-1,mx);
  123.             }
  124.         }
  125.     }
  126.  
  127.     return mx;
  128. }
  129.  
  130. int main()
  131. {
  132.    fastread();
  133.  
  134.    ll i,j,p,sum=3,k,t,a,b,c,d,cnt=0,q,cas=1,o;
  135.  
  136.      while(scanf("%d %d",&n,&m) && (n || m))
  137.      {
  138.         input();
  139.  
  140.        // debug();
  141.  
  142.        ll ans=solution();
  143.  
  144.        printf("%d\n",ans);
  145.      }
  146.  
  147.  
  148.  
  149. }
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top