问题描述
域名系统的主要功能是什么?
互联网的域名结构是怎样的?
域名系统中的本地域名服务器、根域名服务器、顶级域名服务器以及权限域名服务器有何区别?
主要功能 :
将域名解析为主机能识别的IP地址。
互联网的域名结构
互联网后来就采用了层次树状结构的命名方法。采用这种命名方法,任何一个连接在互联网上的主机或路由器,都有一个唯一的层次结构的名字一域名
三个域名服务器的区别
当一个本地域名服务器不能立即回答某个主机的查询时,该本地域名服务器就以DNS客户的身份向某一个根域名服务器查询。若根域名服务器有被查询主机的信息,就发送DNS回答报文给本地域名服务器,然后本地域名服务器再回答发起查询的主机。但当根域名服务器没有被查询的主机的信息时,它一定知道某个保存有被查询的主机名字映射的授权域名服务器的IP地址。通常根域名服务器用来管辖顶级域。根域名服务器并不直接对顶级域下面所属的所有的域名进行转换,但它一定能够找到下面的所有二级域名的域名服务器。每一个主机都必须在授权域名服务器处注册登记。
凑篇幅用
// Problem: D. River Locks
// Contest: Codeforces - Codeforces Round #802 (Div. 2)
// URL: https://codeforces.com/contest/1700/problem/D
// Memory Limit: 256 MB
// Time Limit: 2000 ms
//
// Powered by CP Editor (https://cpeditor.org)
#include <iostream>
#include <vector>
#include <map>
#include <cstring>
#include <queue>
#include <math.h>
#include <set>
#include <stack>
#include <algorithm>
using namespace std;
#define IOS ios::sync_with_stdio(false);
#define CIT cin.tie(0);
#define COT cout.tie(0);
#define ll long long
#define x first
#define y second
#define pb push_back
#define endl '\n'
#define all(x) (x).begin(),x.end()
#define Fup(i,a,b) for(int i=a;i<=b;i++)
#define Fde(i,a,b) for(int i=a;i>=b;i--)
#define cer(a) cerr<<#a<<'='<<(a)<<" @ line "<<__LINE__<<" "<<endl
typedef priority_queue<int,vector<int>,greater<int>> Pri_m;
typedef pair<int,int> pii;
typedef vector<int> VI;
map<int,int> mp;
const int N = 2e5+10,INF = 0x3f3f3f3f;
const double eps = 1e-5;
struct node{
int to,val;
};
int a[N],n;
void solve(){
cin>>n;
for(int i=1;i<=n;i++) cin>>a[i];
ll maxn = -1e18;
ll sum = 0 ;
for(int i=1;i<=n;i++){
sum = sum+a[i];
maxn = max(maxn,(sum + i - 1 )/i );
}
int q;cin>>q;
while(q -- ){
int x;cin>>x;
if(x < maxn) cout<<-1<<endl;
else cout<<(sum + x - 1)/x<<endl;
}
}
int main(){
//int t;cin>>t;while(t--)
solve();
return 0 ;
}