Advertisement
a53

tort1

a53
Apr 1st, 2019
133
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.97 KB | None | 0 0
  1. #include <cstdio>
  2. #define M 502
  3. using namespace std;
  4. int a[M][M];
  5.  
  6. int main()
  7. {
  8. FILE *fi,*fo;
  9. int i,j,m,n,k,k1,MIN,s,np;
  10. fi=fopen("tort.in","rt");
  11. fscanf(fi,"%d %d %d",&m,&n,&k);
  12. for(i=1;i<=m;++i)
  13. for(j=1;j<=n;++j)
  14. fscanf(fi,"%d",&a[i][j]);
  15. fclose(fi);
  16. MIN=m*n+1;
  17. for(i=2;i<=m;++i)
  18. a[i][1]+=a[i-1][1];
  19. for(j=2;j<=n;++j)
  20. a[1][j]+=a[1][j-1];
  21. for(i=2;i<=m;i++)
  22. for(j=2;j<=n;++j)
  23. a[i][j]+=(a[i-1][j]+a[i][j-1]-a[i-1][j-1]);
  24. for(k1=0;k1<=k;++k1)
  25. for(i=m-k1;i<=m;++i)
  26. for(j=n-k+k1;j<=n;++j)
  27. {
  28. s=a[i][j]-a[i-m+k1][j]-a[i][j-n+k-k1]+a[i-m+k1][j-n+k-k1];
  29. if(s<MIN)
  30. MIN=s,np=1;
  31. else
  32. if(s==MIN)
  33. ++np;
  34. }
  35. fo=fopen("tort.out","wt");
  36. fprintf(fo,"%d\n%d\n",a[m][n]-MIN,np);
  37. fclose(fo);
  38. return 0;
  39. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement