103 afișări Casian Filimon (eUREWREQRLIQ) 29 mar
www.pbinfo.ro
Etichete: nicio etichetă

#include <bits/stdc++.h>
using namespace std;

int v10011001, l1000001, c1000001, fc1001, fl1001;
long long sp10011001;
int main()
{ ifstream fin(“iluminat.in”); ofstream fout(“iluminat.out”);

long long n, cer, k, a, b, p, s=0, max=0; fin>>cer>>n>>k; if(cer==1) { for(int i=1; i<=n; i++) { for(int j=1; j<=n; j++) { fin>>v[i][j]; l[v[i][j]]=i;c[v[i][j]]=j; } } for(int i=n*n; i>=1; i—) { a=l[i];b=c[i]; if(fl[a]==0 && fc[b]==0) { k—; fl[a]=1;fc[b]=1; } if(k==0) { fout<<i; return 0; } } } else if(cer==2) { for(int i=1; i<=n; i++) { for(int j=1; j<=n; j++) { fin>>v[i][j]; l[v[i][j]]=i;c[v[i][j]]=j; } } for(int i=n*n; i>=1; i—) { a=l[i];b=c[i]; if(fl[a]==0 && fc[b]==0) { k—; if(!k) {p=i;break;} fl[a]=1;fc[b]=1; } } for(int i=1; i<=n; i++) { for(int j=1; j<=n; j++) { if(v[i][j]==p) { for(int x=i; x>=1; x—) { if(fl[x]==0 && fc[j]==0) s+=v[x][j]; } for(int x=i; x<=n; x++) { if(fl[x]==0 && fc[j]==0) s+=v[x][j]; } for(int x=j; x>=1; x—) { if(fl[i]==0 && fc[x]==0) s+=v[i][x]; } for(int x=j; x<=n; x++) { if(fl[i]==0 && fc[x]==0) s+=v[i][x]; } fout<<s-3*p; return 0; } } } } else { for(int i=1; i<=n; i++) { for(int j=1; j<=n; j++) { fin>>a; sp[i][j]=sp[i][j-1]+a; } } for(int i=1; i<=n-k+1; i++) { for(int j=k; j<=n; j++) { s=0; for(int x=i; x<=i+k-1; x++) s=s+sp[x][j]-sp[x][j-k]; if(s>max) max=s; } } fout<<max; } return 0; }

103 afișări Casian Filimon (eUREWREQRLIQ) 29 mar
www.pbinfo.ro
Du-te sus!