結果

問題 No.469 区間加算と一致検索の問題
ユーザー tailstails
提出日時 2016-12-19 00:28:46
言語 C++14
(gcc 13.2.0 + boost 1.83.0)
結果
CE  
(最新)
AC  
(最初)
実行時間 -
コード長 488 bytes
コンパイル時間 1,552 ms
コンパイル使用メモリ 163,308 KB
最終ジャッジ日時 2023-09-20 05:18:01
合計ジャッジ時間 3,983 ms
ジャッジサーバーID
(参考情報)
judge14 / judge13
このコードへのチャレンジ(β)
コンパイルエラー時のメッセージ・ソースコードは、提出者また管理者しか表示できないようにしております。(リジャッジ後のコンパイルエラーは公開されます)
ただし、clay言語の場合は開発者のデバッグのため、公開されます。

コンパイルメッセージ
main.cpp:8:1: 警告: ISO C++ では型の無い ‘main’ の宣言を禁止しています [-Wreturn-type]
    8 | main(){
      | ^~~~
main.cpp: 関数 ‘int main()’ 内:
main.cpp:21:17: エラー: ‘gets’ was not declared in this scope; did you mean ‘getw’?
   21 |                 gets(s);
      |                 ^~~~
      |                 getw

ソースコード

diff #

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

char s[32];
long long hoge[1000000];
map<long long,int> amap;

main(){
	{
		long long m=1;
		for(int i=0;i<1000000;++i){
			hoge[i]=m;
			m*=1000000007;
		}
	}
	int n,q;
	scanf("%d%d ",&n,&q);
	long long h=0;
	amap.insert(make_pair(h,0));
	for(int i=1;i<=q;++i){
		gets(s);
		if(*s=='!'){
			int l,r,k;
			sscanf(s+1,"%d%d%d",&l,&r,&k);
			h+=(hoge[l]-hoge[r])*k;
			amap.insert(make_pair(h,i));
		}else{
			printf("%d\n",amap[h]);
		}
	}
}
0