Advertisement
Guest User

Untitled

a guest
Dec 13th, 2017
81
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.78 KB | None | 0 0
  1. #include <iostream>
  2. #include <queue>
  3.  
  4. using namespace std;
  5.  
  6. int maks3(int a, int b, int c){
  7.     if(a>=b&&a>=c){
  8.         return a;
  9.     }else if(b>a&&b>=c){
  10.         return b;
  11.     }else{
  12.         return c;
  13.     }
  14. }
  15. int maks2(int a, int b){
  16.     if(a>=b){
  17.         return a;
  18.     }else{
  19.         return b;
  20.     }
  21. }
  22.  
  23. int main()
  24. {
  25.     ios_base::sync_with_stdio(false);
  26.     int n, m, l_grzybow, maks=0, kol=0;
  27.     cin>>n>>m;
  28.     if(n==1){
  29.         int pom;
  30.         for(int i=0;i<m;i++){
  31.             cin>>pom;
  32.             if(pom>maks){
  33.                 l_grzybow=pom;
  34.                 kol=i;
  35.             }
  36.         }
  37.     }else{
  38.         if(m==1){
  39.             int pom;
  40.             for(int i=0;i<n;i++){
  41.                 cin>>pom;
  42.                 l_grzybow=l_grzybow+pom;
  43.             }
  44.         }else{
  45.             int tabpom[m], tab[2][m];
  46.             for(int i=0;i<m;i++){
  47.                 tab[0][i]=0;
  48.                 tab[1][i]=0;
  49.             }
  50.             int j;
  51.             for(j=0;j<n;j++){
  52.                 for(int i=0;i<m;i++){
  53.                     cin>>tabpom[i];
  54.                     if(i==0){
  55.                         tab[j%2][i]=maks2(tab[(j-1)%2][i],tab[(j-1)%2][i+1])+tabpom[i];
  56.                     }else if(i==(m-1)){
  57.                         tab[j%2][i]=maks2(tab[(j-1)%2][i],tab[(j-1)%2][i-1])+tabpom[i];
  58.                     }else{
  59.                         tab[j%2][i]=maks3(tab[(j-1)%2][i-1],tab[(j-1)%2][i],tab[(j-1)%2][i+1])+tabpom[i];
  60.                     }
  61.                 }
  62.             }
  63.             for(int i=0;i<m;i++){
  64.                 if(tab[j%2][i]>maks){
  65.                     maks=tab[j%2][i];
  66.                     kol=i;
  67.                 }
  68.             }
  69.             l_grzybow=maks;
  70.         }
  71.     }
  72.     cout<<kol<<" "<<l_grzybow<<endl;
  73.     return 0;
  74. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement