JOI

JOI 春合宿 2007 Day1 Mall

JOI

解法 2次元累積和を用いる.人が住んでいる場所は10^8以上の数字にすればよい. 実装(C++) #include <cstdio> using namespace std; typedef long long lli; const lli INF=1000000001; lli MAP[1000][1000],SUM[1001][1001],_SUM[1001][1001]; int W,H; int a,b; in</cstdio>…

JOI 春合宿 2007 Day1 Factorial

JOI

解法 nに√nよりも大きい素因数が含まれていたらそれが解.そうじゃないのならmod n=0になるまで階乗を計算する 実装(C) int n,m,t,mod=1,i; int main(){ scanf("%d",&n); t=n; for(i=2;i*i<=n;i++) while(t%i==0) t/=i; if(t++==1) for(;mod;t++) mod=(long …

JOI 春合宿 2007 Day1 Score

JOI

解法 ヒストグラムを作り,各点数の順位を求める 実装(C++) #include <cstdio> int n,hist[101],s[100000],res[101]; int main() { scanf("%d",&n); for(int i=0;i<n;i++){ scanf("%d",s+i); hist[s[i]]++; } for(int i=100,j=1;i>=0;i--){ res[i]=j; j+=hist[i]; } for(int i=0;i</n;i++){></cstdio>