Input file: standard input
Output file: standard output
Time limit: 1 second
Memory limit: 64 megabytes
衆所周知龍龍雖然很可愛但其實是俱樂部最強的人。這不他今年去打 EC-Final 辣。處於一些特殊原因,龍龍訂了一間主題房,裏面有一個大大的浴缸。雖然龍龍很想使用這個浴缸但是傲嬌的龍龍打算掩蓋自己的想法。他問大佬,假設已知這個浴缸的尺寸,如果往這個浴缸裏注入 n 升(單位:L)水,那麼從浴缸頂部到水面的距離有多長。
對於浴缸尺寸的描述,我們將浴缸的俯視圖視爲一個矩形,將浴缸從俯視圖上按單位長度分爲一個個方格,對每個方格有一個數字 hi,j 分別描述從浴缸頂部到當前位置底部的距離。
Input
第一行輸入兩個正整數 n, m, v 由空格間隔開,保證 1 ≤ n, m ≤ 1000, 1 ≤ v ≤ 109,表示這個浴缸的長與寬,以及注入的水的體積。
接下來 n 行每行輸入 m 個數字,其中第 i 行第 j 個數字是 hi,j (1 ≤ hi,j ≤ 100),表示浴缸在這一塊方格中從頂部到底部的距離。
Output
請輸出一個非負整數,表示浴缸從頂部到水面的距離。傲嬌的龍龍其實早就在心裏想了好多泡澡的事情辣,所以可以保證輸出一定是一個整數,並且一定不會有水溢出,他早就考慮好辣。
Example
standard input standard output
4 3 6 1
2 2 1
2 2 1
2 2 1
1 1 1
3 3 15 4
1 2 3
4 5 6
7 8 9
Note
所有的長度單位都是分米,分米和升的單位轉換關係是:1 立方分米(單位:dm3)= 1 升(單位:L)。
而且保證浴缸矩陣是非嚴格單調的,即保證不會出現水填滿了其中的一部分但有一部分比水平面低的地方沒有被水填充的情況。
思路:畫畫圖差不多就出來了,看清題意,想清楚浴缸
#include<bits/stdc++.h>
using namespace std;
const int maxx=1e3+10;
int a[maxx][maxx];
int main()
{
std::ios::sync_with_stdio(false);
int n,m,v;
cin>>n>>m>>v;
for(int i=1; i<=n; i++)
{
for(int j=1; j<=m; j++)
cin>>a[i][j];
}
long long int sum=0;
int u=-1;
while(sum<v)
{ int maxx=-1;
for(int i=1; i<=n; i++)
{
for(int j=1; j<=m; j++)
{
if(a[i][j]>maxx)
maxx=a[i][j];
}
}
u=maxx;
for(int i=1;i<=n;i++)
{
for(int j=1;j<=m;j++)
{
if(a[i][j]==maxx)//每一次都用水把最深的小方塊灌上
{
sum++;
a[i][j]--;
}
}
}
maxx=-1;
}
cout<<u-1<<endl;
return 0;
}